iOS开发_传值
2015-08-07 13:20 圆圆的月亮在地上 阅读(154) 评论(0) 编辑 收藏 举报在iOS开发中常用的参数传递有以下几种方法:
1.采用代理模式
- 定义好协议,协议中定义好传参时所需的方法。
- 目标控制器设置协议的代理
- 源控制器实现这个协议,并在初始化目标控制器时设置目标控制器的代理为源控制器,并实现代理方法
- 需要传参的时候在目标窗口调用代理的协议方法,适用于一对一的传值
2.采用iOS消息机制
- 适用于一对多的传值。
3.通过NSDefault存储(或者文件、数据库存储等)
4.通过AppDelegate定义全局变量(或者使用UIApplication、定义一个单例类等)
5.通过控制器属性传递
- 适用于从前往后一对一的传值
6.block传值
- 目标控制器类型定义一个block,并设置一个block的属性。typedef void (^blockName)(type1 *par1,type2 par2);
- 源控制器在初始化目标控制器时实现目标控制器block的方法。
- 需要传参或者回调时在目标控制器调用block。self.block(par1,par2);