@weakify(self),@strongify(self)在Block中配合使用才有效,目的是让block不对self进行强引用
里面@strongify(self)相当于,生成了一个变量名为self的局部变量并指向了weakSelf,
在block内部@strongify(self)之前不能使用self,否则block依然会对self进行强引用
正常情况下,block会对代码块里面的非全局对象进行强引用
@weakify(self) 配合 @strongify(self)使用不等同与下面2句
__weak typeof (self) weakSelf = self;
__strong typeof (self) strongSelf = weakSelf;
,只相当于 __weak typeof (self) weakSelf = self;
如果self销毁就不往下执行代码时可以用__weak typeof (self) weakSelf = self;或者@weakify(self) 配合 @strongify(self)使用
网友评论