界面传值

1正向传值

界面传值_第1张图片

2反向传值(代理)

在b界面 :1声明协议和方法(方法不实现)2定义代理属性

界面传值_第2张图片

通知代理

界面传值_第3张图片

a面遵守协议。在a面实现代理的方法

界面传值_第4张图片

在声明代理属性时,不能使用strong,避免VC调用sVC,然后sVC再调用VC形成循环引用,内存无法释放@property (nonatomic,weak) id<> delegate;

3反向传值(通知:1对N)

b面建立通知

界面传值_第5张图片

a面接收通知

界面传值_第6张图片

4单例传值

单例模式顾名思义就是只有一个实例,它确保一个类只有一个实例,并且自行实例化并向整个系统提供这个实例。它经常用来做应用程序级别的共享资源控制。这个模式使用频率非常高,通过一个单例类,可以实现不同view之间的参数传递

界面传值_第7张图片
界面传值_第8张图片

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

界面传值_第9张图片

你可能感兴趣的:(界面传值)