Block为什么使用Copy?

Block为什么使用Copy?

block:本质就是一个object-c对象block:存储位置,可能分为3个地方:代码去,堆区、栈区(ARC情况下会自动拷贝到堆区,因此ARC下只能有两个地方:代码去、堆区)代码区:不访问栈区的变量(如局部变量),且不访问堆区的变量(alloc创建的对象),此时block存放在代码去。堆区:访问了处于栈区的变量,或者堆区的变量,此时block存放在堆区。–需要注意实际是放在栈区,在ARC情况下会自动拷贝到堆区,如果不是ARC则存放在栈区,所在函数执行完毕就会释放,想再外面调用需要用copy指向它,这样就拷贝到了堆区,strong属性不会拷贝、会造成野指针错区。

by:ml

清芳推荐

中国队获亚洲选手滑雪登山世界大赛最好成绩
约彩365安卓老版本

中国队获亚洲选手滑雪登山世界大赛最好成绩

📅 08-27 👀 8723
如何修改手机短信数据库
365彩票网3d专家预测

如何修改手机短信数据库

📅 08-09 👀 5812
超载1人处罚扣分标准2023,超员20%不到50%的扣分罚款
365彩票网3d专家预测

超载1人处罚扣分标准2023,超员20%不到50%的扣分罚款

📅 07-02 👀 1549