ios block 的使用回顾

    1. block 的一般使用 回顾
定义
void (^addBlock)(NSInteger) = ^(NSInteger  value){
   NSLog(@"添加的数据时: %ld",value);
};

 调用
addBlock(5);
   
等价于
^(NSInteger  value){
  NSLog(@"添加的数据时: %ld",value);
 }(5);

-2. 返回block 的方法回顾1

方法的封装
-(void(^)(NSInteger))add{
    return ^(NSInteger  value){
    };
}

方法的调用
self.add ; 的结果等价于  ^(NSInteger  value){
                          };

self.add(10); 的结果等价于   ^(NSInteger  value){
                            }(10);

-3. 返回block 的方法回顾2

方法的封装
-(Tool *(^)(NSInteger))add2{
    return ^(NSInteger  value){
        return self;
    };
}

方法的调用
self.add2 ; 的结果等价于  ^(NSInteger  value){  
                                 return self;
                            };

self.add2(10); 的结果等价于   ^(NSInteger  value){
                              在这里实行对value的操作
                              return self;
                            }(10);


方法调用的说明:
当我们执行 self.add2;后其实返回的是一个block ,是一段代码(或者可以理解成一个可以执行的动作), 我们在self.add2 的后面加上一个 (10) 表示我们传入一个参数10 调用这个block , 应为这个block 是有返回值得因此当我们把这个block 执行完成后 返回了self , 因此这个方法
"-(Tool *(^)(NSInteger))add2{
    return ^(NSInteger  value){
        return self;
    };
}" 我们在使用的时候其实要一分为二来看待这个方法,第一阶段执行方法后返回的是block, 当我们给这个block 传参数调用这个block时才 会执行block内的代码返回self;

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容