iOS中block使用注意事项
来源:互联网 发布:蜜蜂汇金是哪个软件 编辑:程序博客网 时间:2024/06/09 16:52
1.使用前加判断:
if(_transferCourseData){
_transferCourseData();
}
2.__weak
__weak GradeMaterialsChooseController *weakgradeVC = gradeVC;
weakgradeVC.transferCourseData = ^(){
[self updateCourseDataWithHUD:YES];
};
但是,这里得强调
如果self对象持有操作对象的引用,同时操作对象当中又直接访问了self时,才会造成循环引用
(只有self直接强引用block,才会出现循环引用)
单纯在操作对象中使用self不会造成循环引用
注意:此时不能使用(weakSelf)
例如多线程中的block
3. __block
在定义Block时,会在Block中建立当前局部变量内容的副本(拷贝)
后续再对该变量的数值进行修改,不会影响Block中的数值
如果需要在block中保持局部变量的数值变化,需要使用__block关键字
使用__block关键字后,同样可以在Block中修改该变量的数值
后续再对该变量的数值进行修改,不会影响Block中的数值
如果需要在block中保持局部变量的数值变化,需要使用__block关键字
使用__block关键字后,同样可以在Block中修改该变量的数值
0 0
- iOS中block使用注意事项
- iOS block使用注意事项
- ios 中使用 block
- iOS中-Block使用
- iOS中-Block使用
- IOS block编程注意事项
- IOS block编程注意事项
- IOS block编程注意事项
- ios中怎样使用block
- iOS中使用block传值
- iOS中使用block传值
- iOS中使用block传值
- iOS中使用block传值
- ios中使用block传参
- iOS中Block基本使用
- IOS中Block的使用
- 使用Block 注意事项
- block 使用注意事项
- django 1.8 官方文档翻译: 3-3-4 管理文件
- 解决ngnix服务器上的Discuz!x2.5 Upload Error:413错误
- iOS8 Core Image In Swift:自动改善图像以及内置滤镜的使用
- Script of batch converting videos.
- 从Eclipse导入Android Studio的问题
- iOS中block使用注意事项
- didFailWithError: Error Domain=kCLErrorDomain Code=0 “The operation couldn’t be completed. (kCLError
- CSS实现提示框的效果
- spring Bean的生命周期
- 面试题 9 Fibonacci数列
- OpenSessionInViewFilter
- R-Tree学习笔记
- iperf测试网络性能
- UC/OS II 任务管理(3)之初始化