ios 页面间传值有许多,前边已经分享过属性传值和代理传值,今天主要说一下单例传值和 block 传值
单例传值:单例模式一种常用的开发的模式,单例因为在整个程序中无论在何时初始化对象,获取到的都是同一个对象,对象的属性相同,所以可以用来传值.
block 传值 与 代理传值相似,主要用于第二个页面向第一个页面传值,block 传值具体步骤:
在第二个页面:
1.声明: block typedef void(^SendMessagerBlock) (NSString *str);
2.创建方法:- (void)sendMessage:(SendMessagerBlock)block;
3.声明属性:@property (nonatomic , copy)SendMessagerBlock block;
4.实现方法:- (void)sendMessage:(SendMessagerBlock)block{
self.block = block;
}
5.调用 block :self.block(self.textField.text);
在第一个页面
6.调用方法:[seconVC sendMessage:^(NSString *str) {
weakSelf.textField.text = str;
}];