zoukankan      html  css  js  c++  java
  • IOS block 对象强引用和弱引用

    1. 在block外面这样:
    __weak MyController *weakSelf = self 或者 __weak __typeof(self) weakSelf = self;

    是为了防止强引用导致循环引用

    2.执行block方法体的时候也可以转换为强引用之后再使用

    __strong __typeof(weakSelf) strongSelf = weakSelf;
    if (!strongSelf) { return; }

    那么,里面变成强引用后,不是又导致循环引用了吗?
    有意思的就在这里,IOS中,block内部,对弱应用的强引用,不会影响对象在外部的释放,同时,保证内部该对象也不会被提前释放。
    这真是一个两全其美的办法。
  • 相关阅读:
    jdk.jre.jvm 三者之间的关系?
    SQL7
    SQL6
    sql题
    sql题
    sql
    简说SQL题
    递归算法
    JAVA的简单描述
    第一篇技术博客
  • 原文地址:https://www.cnblogs.com/SimonGao/p/6206241.html
Copyright © 2011-2022 走看看