界面传值

2016-02-23  本文已影响0人  cavil

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

上一篇下一篇

猜你喜欢

热点阅读