您的位置:首页 > 运维架构

为什么把block定义成copy类型

2016-03-24 10:38 211 查看
block有三种:1、全局block 2、栈block 3、堆block

1、用copy:1>全局block(不引用外部变量) 2>栈block (MRC下引用外部变量)3> 堆block (ARC下引用外部变量)

2、用assign(block是结构体),1>全局block(不引用外部变量) 2>不论是在MRC还是在ARC下都是栈block。

而栈block在使用中会带来问题:在一个方法中, 打印block会发现是空,调用block会崩溃(方法返回时栈已经销毁)。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: