官方推荐使用typeof。
&a与&a有什么区别?
*代表的是指针 &代表的是地址
第一个就是说指针所指向的地址中的内容
第二个就是说指针所指向的内容他的地址是多少
//1.
//转成弱
#define WS(weakSelf) __weak __typeof(&*self)weakSelf = self;
//转成强
#define SS(strongSelf, weakSelf) __strong __typeof(&*weakSelf)strongSelf = weakSelf;
//2.
//转成弱
#define WS(weakSelf) __weak typeof(self) weakSelf = self;
//转成强
#define SS(strongSelf,weakSelf) __weak typeof(self) weakSelf = self;
//实现起来都一样,推荐第二种写法。