1正向传值
2反向传值(代理)
在b界面 :1声明协议和方法(方法不实现)2定义代理属性
通知代理
a面遵守协议。在a面实现代理的方法
在声明代理属性时,不能使用strong,避免VC调用sVC,然后sVC再调用VC形成循环引用,内存无法释放@property (nonatomic,weak) id<> delegate;
3反向传值(通知:1对N)
b面建立通知
a面接收通知
4单例传值
单例模式顾名思义就是只有一个实例,它确保一个类只有一个实例,并且自行实例化并向整个系统提供这个实例。它经常用来做应用程序级别的共享资源控制。这个模式使用频率非常高,通过一个单例类,可以实现不同view之间的参数传递
5block传值
b面设置block属性
@interface BlockViewController : UIViewController
//block的属性
@property(nonatomic, strong)void(^changBlock)(UIColor * color,NSString * string);
//公开一个方法让之前的类去调用
- (void)setChangBlock;
- (void)setChangBlock
{
self.changBlock([UIColor redColor],@"1231231");
}
a面中获得b面中对应block的属性