2018-01-03 ReactiveCocoa @Weakify 和 @Strongify的简单用法

最近准备用RAC来写项目,在学习中发现RAC中经常会循环引用,RAC中的@Weakify非常好用,介绍给大家。

这里主要介绍在Block中的循环引用

1.之前处理Block的方法:

之前我们对待Block最好的方法就是每一个Block里面都加一个weakself。

2018-01-03 ReactiveCocoa @Weakify 和 @Strongify的简单用法_第1张图片


2.在RAC对待Block的方法

在RAC中只需要在前面加一个@weakify(self);在引用到self的时候改写成self_weak_就可以了。

2018-01-03 ReactiveCocoa @Weakify 和 @Strongify的简单用法_第2张图片

当然还有更简单的方法,那就是weakify(self)和strongify(self)一起使用,一劳永逸。所有用到self的地方不用再替换成self_weak_。


2018-01-03 ReactiveCocoa @Weakify 和 @Strongify的简单用法_第3张图片

3.最后提醒

RAC的Block中切记不要用self,保证会导致循环引用。切记切记切记,像下面这个例子是一定会引起循环引用的。


2018-01-03 ReactiveCocoa @Weakify 和 @Strongify的简单用法_第4张图片

你可能感兴趣的:(2018-01-03 ReactiveCocoa @Weakify 和 @Strongify的简单用法)