您好,欢迎来到二三娱乐。
搜索
您的当前位置:首页block的一些注意事项

block的一些注意事项

来源:二三娱乐

Block的使用注意:

block的内存管理(注意循环引用,默认在栈中(不需要内存管理),通过copy就在在堆中,就要注意内存管理)

防止循环retian

非ARC(MRC):__block

ARC:__weak\__unsafe_unretained

1)当对block使用copy时,就自动将block函数内容从栈区复制到堆区

2)在block块中引用[p run],两者之间会产生一个强引用,最终导致循环引用

3)对block对象使用weak,则能避免此类情况

当使用int age = 10 时,block块中会出现值捕获,即在工程编译时,age = 10;便会传递到block块中,及时在下面重新对age赋值,block块中的age值也不会发生改变,仍为10;

当使用——block int age = 10时,则将age改变成一个变量,每次对age 重新赋值,都会重新调用block块函数,从而age的值会不断发生改变。

当block和控制器相互引用时


Copyright © 2019- yule263.com 版权所有

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务