block 传值
在第二个控制器里面声明block
// 类似代理的协议
typedef void(^TransmitValueBlock) (NSString *);
@interface SecondViewController : UIViewController
// 类似代理的定义
@property (nonatomic, copy) TransmitValueBlock ablock;
// 可以不用写 typedef
@property (nonatomic, copy) void (^yadongBlock) (NSString *);
@end
在第一个控制器里面实现 block 体
- (void)buttonDidClicked:(UIButton *)sender
{
SecondViewController *secondVC = [[SecondViewController alloc] init];
// 第一个页面实现 block 体
secondVC.ablock = ^(NSString *text){
NSLog(@"%@", text);
self.rootView.label.text = text;
};
[self.navigationController pushViewController:secondVC animated:YES];
}
第二个页面调用
- (void)leftBarButtonItemAction:(UIButton *)sender
{
// 第二个页面调用,传一个参数
self.ablock(self.rootView.textfield.text);
[self.navigationController popToRootViewControllerAnimated:YES];
NSLog(@"fanhui");
}
缓存数据
// 暂时存储
[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"isLogin"];
// 取值
BOOL isLoginIt = [[NSUserDefaults standardUserDefaults] boolForKey:@"isLogin"];
版权声明:本文为outlan原创文章,未经博主允许不得转载。
时间: 2024-10-03 13:45:59