weakSelf 写法(OC+Swift)

2018-05-28  本文已影响0人  iOS_我更专业

经常用Block传值,所以我们经常反复为了防止循环引用而去这样写:

OC: 

    宏定义:

        #define WEAKSELF(weakSelf)  __weak __typeof(&*self)weakSelf = self;

使用时:直接在要在使用地方掉用:WEAKSELF(weakSelf);在Block闭包里直接用weakSelf即是若引用;

那Swift有没有这样的写法呢?笔者暂时还未发现,那Swift怎样子这样写呢?

是在没出都写:weak var weakSelf = self 再掉用weakSelf这个对象使用嘛?经笔者长期使用,觉得还是很麻烦的,那应该怎样呢?

    eg:viewController.getModel = {  [weak self]  model in

                    在这里直接使用self即可(不会循环引用),不过每次都要写[weak self],但总体来说还是方便不少的!

            }

上一篇下一篇

猜你喜欢

热点阅读