IOS 成功失败的Block写法
来源:互联网 发布:淘宝限制购物怎么解除 编辑:程序博客网 时间:2024/05/29 15:40
基本思路跟上篇一致。 只是此处将成功与失败给封装起来了。这样做的好处在于,比如说用到百度地图定位,成功的话进成功的Block方法,失败的话进失败的Block方法。
代码如下:
A页面头文件(定义Block,初始化Block):
- (void)launchSuccessBlock:(successBlock)successBlock launchFailure:(failBlock)failureBlock (成功与失败的集合方法)
typedef void(^successBlock)(NSString *showText);typedef void (^failBlock)();@interface CHAddressListViewController : CHBaseViewController@property (nonatomic,strong) successBlock testSuccessBlock;@property (nonatomic,strong) failBlock testFailBlock;//测试下block- (void)launchSuccessBlock:(successBlock)successBlock launchFailure:(failBlock)failureBlock;@end
A页面实现文件(传值给B页面):
- (void)viewDidDisappear:(BOOL)animated{ [super viewDidDisappear:YES]; //即将消失的时候 if (self.returnTextBlock !=nil) { self.returnTextBlock(@"block 传值测试"); NSLog(@"======%@=======",self.returnTextBlock); } //此处简单的直接赋值,倘若在实际使用中,可以在百度地图的定位成功中调用 if (self.testSuccessBlock != nil) { self.testSuccessBlock(@"block 测试成功"); } //可以在百度地图的定位失败中调用 if (self.testFailBlock != nil) { self.testFailBlock(@"block 测试失败"); }}//Block回调- (void)launchSuccessBlock:(successBlock)successBlock launchFailure:(failBlock)failureBlock{ self.testSuccessBlock = successBlock; self.testFailBlock = failureBlock;}
B页面实现页面(获取从页面传过来的Block值)
@implementation secondViewController- (void)viewDidLoad{ [super viewDidLoad]; [self initContent];}- (void)initContent{ _label = [[UILabel alloc]initWithFrame:CGRectMake(100, 100, (kDEVICEWIDTH - 100), 30)]; _label.backgroundColor = [UIColor grayColor]; _label.textColor = [UIColor yellowColor]; [self.view addSubview:_label]; UIButton *_commitBtn = [[UIButton alloc]initWithFrame:CGRectMake(15, 179, kDEVICEWIDTH-30, 45)]; _commitBtn.backgroundColor = [UIColor grayColor]; [_commitBtn addTarget:self action:@selector(commitClick) forControlEvents:UIControlEventTouchUpInside]; [_commitBtn setTitle:@"提交" forState:UIControlStateNormal]; _commitBtn.titleLabel.textColor = [UIColor whiteColor]; _commitBtn.layer.cornerRadius = 4; [self.view addSubview:_commitBtn]; _viewConTroller = [[CHAddressListViewController alloc] init]; [_viewConTroller returnText:^(NSString *showText) { CHDebugLog(@"---------%@------------",showText); // self.secTextField.text = showText; // _label.text = showText; }]; [_viewConTroller launchSuccessBlock:^(NSString *showtext) { //CHDebugLog(@"---------Success Launch Block------------"); CHDebugLog(@"---------Block Success Value :%@------------",showtext); _label.text = showtext; } launchFailure:^{ CHDebugLog(@"---------fail Launch Block------------"); }];};
0 0
- IOS 成功失败的Block写法
- iOS Block 写法详解
- block的使用写法
- 各个地方block的写法
- 成功的失败预言
- 成功的失败预言
- 成功的失败预言
- iOS视频下载成功block回调
- block写法
- Block写法
- block写法
- Block的基本用法和写法1
- 失败?还是成功的开始?
- 微软的成功和失败
- 成功与失败的箴言
- 成功与失败的价值观
- 成功与失败的理解
- iOS block的用法
- 二叉树的先序中序后序遍历问题
- JAVA-五子棋实现
- 本地环境 XAMPP+phpStorm+XDebug+chrome 配置和断点调试
- HDU 1597 find the nth digit 水题
- github优秀开源项目
- IOS 成功失败的Block写法
- 静态变量(static variables)那点事
- Autocomplete
- 【AJAX】学习总结
- 归并排序
- ADT Debug 调试source not found问题
- MyBatis详解
- 欢迎使用CSDN-markdown编辑器
- LeetCode 6:ZigZag Conversion