您的位置:首页 > 其它

block在ARC和MRC中的区别

2015-11-20 10:24 99 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: