美文网首页
ios bolck理解

ios bolck理解

作者: piggybear | 来源:发表于2021-11-24 10:05 被阅读0次

    blcok分为全局blcok,堆block,栈block

    MRC
    只要block没有访问外部变量,就是全局block。访问了外部变量,就是栈block。显示地调用[block copy]就是堆block。

    ARC
    只要没有访问外部变量,就是全局block。如果访问了外部变量,那么在访问外部变量之前存储在栈区,访问外部变量之后存储在堆区。

    __block的作用:将外部变量的传递形式由值传递变为指针传递,从而可以获取并且修改外部变量的值。同样,外部变量的修改,也会影响block函数的输出。

    block循环引用问题:当一个类的对象持有block,block里面又引用了这个对象,那么就是一个循环引用的关系。可以用strong-weak-dance的方法解除循环引用。

    相关文章

      网友评论

          本文标题:ios bolck理解

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