美文网首页
关于weakSelf

关于weakSelf

作者: 夜耶烨 | 来源:发表于2016-07-17 01:03 被阅读0次

    weakSelf一般用于防止block里对self的循环引用,如果在block里用到self通常会生声明一个weakSelf.

    1、关于weakSelf的声明.

    __weak typeof(self) weakSelf = self;

    或者定义成宏#define WeakSelf __weak typeof(self)weakSelf = self;

    #define WS(weakSelf) __weak typeof(self)weakSelf = self;

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

    2、关于typeof()关键字

    typeof()是为了判断括号里边的类型。例如typeof(int)得出来的类型就是int类型

    int a = 10等价于typeof(int) a = 10;

    同理typeof(self) 得就来的就是self 的类型。可以动态判断类型。当然如果self是UIViewController 写成__weak UIViewController *self = self;也可以不过就显得很笨重;

    3、关于__typeof(self) 和typeof(self)以及__typeof(&*self)的区别现在貌似没什么区别具体不懂。都可以。

    相关文章

      网友评论

          本文标题:关于weakSelf

          本文链接:https://www.haomeiwen.com/subject/ovvujttx.html