block和self的相互引用造成的循环引用,想必大家都是明白的。上下面的代码(截取部分)__weak typeof(self) weakSelf = self; self.jsBridgeFunctionDic = @{ JSBridgeCallNativePage...
分类:
其他好文 时间:
2015-11-25 11:02:08
阅读次数:
134
__weaktypeof(self)weakSelf=self;[selfdoABlockOperation:^{__strongtypeof(weakSelf)strongSelf=weakSelf;if(strongSelf){...}}];
分类:
其他好文 时间:
2015-11-18 16:08:20
阅读次数:
128
(一)内存管理原则1、默认strong,可选weak。strong下不管成员变量还是property,每次使用指针指向一个对象,等于自动调用retain(), 并对旧对象调用release(),所以设为nil等于release。2、只要某个对象被任一strong指针指向,那么它将不会被销毁,否则立即...
分类:
其他好文 时间:
2015-11-16 17:25:32
阅读次数:
171
__weak?__typeof(self)weakSelf??=?self;
分类:
其他好文 时间:
2015-10-30 15:43:41
阅读次数:
127
创建block匿名函数之前一般需要对self进行weak化,否则造成循环引用无法释放controller: __weak MyController *weakSelf = self 或者__weak __typeof(self) weakSelf = self; 执行block方法体的时候也可以转换...
分类:
其他好文 时间:
2015-10-14 10:29:44
阅读次数:
105
1. 出现 unuer解决:#pragma clang diagnostic push #pragma clang diagnostic ignored"-Wunused-variable" //这里是会报警告的代码 WEAKSELF;#pragma clang diagnostic pop2.to...
分类:
移动开发 时间:
2015-09-11 15:45:12
阅读次数:
166
__weak typeof(self) weakSelf = self的应用意思是声明了一个self类型的weakSelf,加上__weak表示它是弱引用的。整行代码就是给self定义了一个弱引用性质的替身。一般用在block上,因为block会copy它内部的变量,可能会造成循环引用,使用__we...
分类:
其他好文 时间:
2015-09-01 16:33:25
阅读次数:
209
本人使用的方法,需要针对每个warning进行添加
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Warc-performSelector-leaks"
id value = [weakSelf performSelector:getSel];//产生warning的代码
#pragma clang dia...
分类:
其他好文 时间:
2015-08-10 18:12:40
阅读次数:
143
[html] view
plaincopyprint?
__weak typeof(self)weakSelf=self;
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
...
分类:
其他好文 时间:
2015-08-05 16:30:32
阅读次数:
181
看惯了什么tempSelf weakSelf,来点高大的#define weakify(...) \ rac_keywordify \ metamacro_foreach_cxt(rac_weakify_,, __weak, __VA_ARGS__)#define unsafeify(....
分类:
其他好文 时间:
2015-07-25 16:35:17
阅读次数:
207