深入研究Block捕获外部变量和__block实现原理 EOCNetworkFetcher.h typedef void (^EOCNetworkFetcherCompletionHandler)(NSData *data); @interface EOCNetworkFetcher : NSObj ...
分类:
其他好文 时间:
2016-09-09 08:47:38
阅读次数:
721
前言 使用RAC的时候我们常会看到这两个宏@weakify(self)、@strongify(self),用来防止使用block时出现引用闭环。 今天看YYKit的时候,看到里面也写了类似的宏,还是来谈谈这两个宏是怎么实现的吧。 正文 ## 宏定义代码 由于YYKit中的weakify、strong ...
分类:
其他好文 时间:
2016-05-16 11:05:26
阅读次数:
281
一、对新手有用而不一定知道的几个宏 这里要吐槽的是,很多人加载了libextobjc的Pod库,却只用到@weakify(self)和@strongify(self),真是浪费的无法理解,自己写一个,或者把要用的扒出来不行吗。。。 首先,挂出自己写的,现在用的顺手的几个宏,希望能对新手们有所帮助 使
分类:
移动开发 时间:
2016-03-17 09:32:44
阅读次数:
238
AC在应用中大量使用了block,由于Objective-C语言的内存管理是基于引用计数的,为了避免循环引用问题,在block中如果要引用self,需要使用@weakify(self)和@strongify(self)来避免强引用。 一、block的循环引用问题 ? [objc] view plai
分类:
其他好文 时间:
2016-03-07 13:28:20
阅读次数:
194
Block使有注意点 在ios推出block后,apple非常推荐开发者所有。但是可能出现内存问题。 可以添加如下宏: #ifndef weakify #if __has_feature(objc_arc) #define weakify( x ) \ _Pragma("clang diagnost
分类:
其他好文 时间:
2016-02-02 23:16:03
阅读次数:
244
监听UITextView控件 text属性 @weakify(self); [self.textViewAdvice.rac_textSignal subscribeNext:^(NSString *content){ @strongify(self); se...
分类:
其他好文 时间:
2015-12-02 20:16:53
阅读次数:
123
说到检测项目中的循环引用 可以有很多手段,其中牛叉的 instruments 当然是把利器。当然开发过程中往往会大意引起的 循环引用比如:忘写了 @weakify(self) && @strongify(self); 在大量使用RAC 和 block.....当然引起这类原因还有很多...如果分工明...
分类:
其他好文 时间:
2015-10-30 18:20:21
阅读次数:
231
http://each.dog/blog/2015/05/02/weakify-and-strongify/http://www.jianshu.com/p/3d6c4416db5eWeakify和strongify探究@weakify和@strongify是一组非常简洁搭配使用的宏,用来避免因循环...
分类:
其他好文 时间:
2015-08-30 11:14:39
阅读次数:
181
RAC在应用中大量使用了block,由于Objective-C语言的内存管理是基于引用计数的,为了避免循环引用问题,在block中如果要引用self,需要使用@weakify(self)和@strongify(self)来避免强引用。 一、block的循环引用问...
分类:
其他好文 时间:
2015-08-20 15:41:47
阅读次数:
160
看惯了什么tempSelf weakSelf,来点高大的#define weakify(...) \ rac_keywordify \ metamacro_foreach_cxt(rac_weakify_,, __weak, __VA_ARGS__)#define unsafeify(....
分类:
其他好文 时间:
2015-07-25 16:35:17
阅读次数:
207