前言
开发中尤其是纯代码开发界面的时候一些重复代码不断的输入,着实让人觉得很浪费时间,但是用别的方式可行性不高,所以用了codesnippet完成自动补全,大大地提高了开发的效率,为我们节省不少时间。
本篇旨在通过一个weakself的宏定义为大家提供一些思路。
原文地址:iOS开发小技巧之--weakself宏
正文
一、weak宏定义进化史
我们都知道在防止如block的循环引用时,会使用__weak关键字做如下定义:
__weak typeof(self) weakSelf = self;
后来,为了方便,不用每次都要写这样一句固定代码,我们定义了宏
#define WeakSelf __weak typeof(self) weakSelf = self;
之后,我们可以比较方便的在需要的地方:
WeakSelf;
...
[weakSelf doSomething];
再后来,我们发现不止self需要使用weak,可能有部分变量也需要weak,于是我们的宏继续进化,不仅仅只支持self: