iOS页面间传值的方式(Delegate/NSNotification/Block/NSUserDefault/单例)

时间:2021-07-11 07:37:22

iOS页面间传值实现方法:1.通过设置属性,实现页面间传值;2.委托delegate方式;3.通知notification方式;4.block方式;5.UserDefault或者文件方式;6.单例模式方式(类似UserDefault,不再赘述)

1.通过设置属性,实现页面间传值(最简单的一种方式,常用来进行单向传值)

在B页面的控制器中,编写对应的属性,在A页面跳转到B页面的地方,给B的属性赋值即可

1.//SecondViewController.h
view sourceprint?
1.@property(nonatomic) NSInteger flag;//当前系统标示(0:其他传值方式;1:block传值方式)

在A页面的试图控制器中

4.block方式(回调)

在B试图控制器中,定义一个block,参数为字符串

在B试图控制器中,当输入名字,点击对应的确定按钮后

在A试图显示,回调block

1.- (IBAction)showSecondWithBlock:(id)sender {
2.SecondViewController *second = [[SecondViewController alloc] initWithNibName:@'SecondViewController'bundle:nil];
3.[self presentViewController:second animated:YES completion:nil];
4.second.block = ^(NSString *str){
5.self.nameLabel.text = str;
6.};
7.}