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的属性

网友评论