标签:class 变量 span 注意 __strong 记录 ati view 属性
使用block要注意循环引用,因此在块中使用self前先使用__weak修饰生产弱引用
这里记录另一种情况:没有使用属性而是直接使用成员变量的时候
// 私有成员变量 @implementation SmartInfoViewController { UIColor *lightColor; } // 在块中直接使用lightColor会造成retain cycle self.colBlock = ^(UIColor *col) { lightColor = col; // 等价于 self->lightColor = col; };
解决办法
// 使用前先生成弱引用 __weak typeof(self) ws = self; paint.colBlock = ^(UIColor *col) { // 必须在内部__strong强引用 __strong typeof(ws) ss = ws; ss -> lightColor = col; };
标签:class 变量 span 注意 __strong 记录 ati view 属性
原文地址:http://www.cnblogs.com/xs514521/p/6877138.html