美文网首页
关于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

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

  • _weak typeof(self) weakSelf = se

    原文地址 关于 _weak typeof(self) weakSelf = self; (一)内存管理原则1、默认...

  • Block  weakSelf  宏定义

    #define WeakSelf(weakSelf) __weak __typeof(&*self)weakSel...

  • 快速的定义一个weakSelf

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

  • 防止MJ block循环引用

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

  • 防止MJ block循环引用

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

  • weakSelf的使用

    使用过weakself的都知道weakself的作用是为了避免循环引用而定义的。 使用weakself需要注意的三...

  • StrongSelf

    weakSelf : 防止循环引用 strongSelf: 防止释放 需要 强引用weakSelf,主要是处理一...

  • Block使用规则

    ARC下,关于block里面使用self、weakSelf、strongSelf,理解一直没有特别的透彻,今天花时...

  • iOS-weakSelf和strongSelf

    关于block什么时候用这个weakSelf和strongSelf. 如果直接在blog中调用对象会被block强...

网友评论

      本文标题:关于weakSelf

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