iOS 页面间传值 之 单例传值 , block 传值

时间:2021-07-25 08:26:44

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;
        }];