block

2020-12-19  本文已影响0人  Fight_ing
tree_18.jpg

为了保证block内部能够正常访问外部的变量,block有个变量捕获机制


block有3种类型,可以通过调用class方法或者isa指针查看具体类型,最终都是继承自NSBlock类型:

NSGlobalBlock ( _NSConcreteGlobalBlock )
NSStackBlock ( _NSConcreteStackBlock )
NSMallocBlock ( _NSConcreteMallocBlock )

每一种类型的block调用copy后的结果如下所示:


// MRC下block属性的建议写法
@property (copy, nonatomic) void (^block)(void);

// ARC下block属性的建议写法
@property (strong, nonatomic) void (^block)(void);
@property (copy, nonatomic) void (^block)(void);
上一篇下一篇

猜你喜欢

热点阅读