BX_Jobs的博客

你所知道的iOS仅仅是冰山一角~~QQ:1023537528,TwitterID:bianxiang1

block在ARC和MRC中的区别

block在ARC和MRC中的声明引用有些区别.
     /**
     block可以存储在栈中,也可以在堆中
     默认存储在栈中,不需要管理内存
     存储在堆中的block会对block进行retain操作
     */
    //(MRC)block在堆中时,不想对block进行retain操作,前面加__block
    //(ARC)前面加__weak或__unsafe_unretained
    //__weak和__unsafe_unretained的区别:__weak则在释放时会对对象赋值nil,后者不会
    //Block_copy使栈中的block转移到堆中,并对block会引用的对象进行retain操作
    //避免block引用的对象进行retain操作,在引用对象声明时前面加__block
阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/BX_Jobs/article/details/49943789
上一篇iOS远程推送原理流程图
下一篇关于3种方式写多线程的一些理解
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭