block传值

来源:互联网 发布:java遍历json对象 编辑:程序博客网 时间:2024/06/03 11:51

block实际上就是 Objective-C 语言对于闭包的实现,是一段匿名的代码段。block的作用有很多,比如说,它可以配合dispatch_queue,方便的实现简单的多线程编程和异步编程,我们经常用到的就是使用block传值。页面间传值的方法有多种,代理,单例,通知,KVO,还有block。使用block不进可以省去冗长的代码,还提高了代码的可读性,十分方便。

核心代码:

//定义传值的block,block的声明typedef void(^returnBlock)(NSString *chooseColor);//定义block属性@property (nonatomic, copy) returnBlock returnBlock;//block的调用- (void)returnText:(returnBlock)block;
    //block传值    if (self.returnBlock != nil) {        NSString *color = self.dataArray[indexPath.row];        self.returnBlock(color);    }
        [needsVC returnText:^(NSString *chooseColor) {            NSString *keyString = _keyArray[indexPath.row];            [_getBackChooseDictionary setValue:chooseColor forKey:keyString];            //刷新tableView            [self.needsTV reloadData];        }];
0 0
原创粉丝点击