在iOS开发中常用的参数传递有以下几种方法:
- 采用代理模式
- 采用iOS消息机制
- 通过NSDefault存储(或者文件、数据库存储等)
- 通过AppDelegate定义全局变量(或者使用UIApplication、定义一个单例类等)
- 通过控制器属性传递
使用代理的步骤:代理模式实际上是回调
1)A声明遵循代理协议的代理
id<xxxprotocal>delegate
2)并直接使用代理,调用代理方法_delegate.method(params),并将传递方法所需的参数值。
3)在B中声明协议 @protocal xxx,并实现协议方法 -method(),将自己设置为A的代理。
A.delegate=B;
为什么称之为 回调呢?这是因为方法的实现是在B中,但是却是在A中传递的参数。
采用通知机制,将参数值用通知userinfo传递。
使用单例实现全局变量,这样大家可以共享这个参数。
直接使用属性传值,destinaton.property
[self.navigationcontroller push:destination];