iOS开发 block的使用

需求:

在需要使用block传值的地方

实现方法:

场景一、在属性汇中使用
方法一:直接写

1.定义属性

@property(nonatomic,copy) void (^block)();
  1. 赋值

- (void)tapHead{
    if (self.block) {
        self.block();
    }
}

3.使用过程

cell.block = ^{
    
    
    };

方法二:使用typedef
1.定义别名

typedef void(^YYAddViewClick)();

2.定义属性

@property(nonatomic,copy) YYAddViewClick addViewClick;

3.赋值

- (void)newReipeReply{
    if (self.addViewClick) {
        self.addViewClick();
    }
}

场景二:在方法中使用

1.定义方法

- (void)getMaintenanceRepairWith:(NSDictionary *)dic withBlock:(void(^)(id data, NSError *error))block

相关链接:iOS中Block的用法,举例,解析与底层原理(这可能是最详细的Block解析) - CocoaChina_一站式开发者成长社区这篇文章,首先在第1节中介绍Block的定义,以及与C里面函数的对比。然后,第2节介绍实际开发中经常会用到的Block语法形式,以供读者日后查阅。只知道怎么用却不知什么时候用?所以随后的第3节将介绍Block的应用场景。然而,用Block不当导致了Crash?所以,第4节有必要了解Block捕获变量的特性,以及循环引用的解决。另外,千万不要懒,一碰到Block就weak,要区分哪些不会引起循环引用。然而,如果对Block的内存机制不熟悉,也会导致Crash,所以第5节会介绍Block的内存机制。学到这里已http://www.cocoachina.com/articles/23147

作者:命运建筑师fly
链接:https://www.jianshu.com/p/ff8e0f6e8dc7
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值