ObjC的Block中使用weakSelf/strongSelf @weakify/@strongify
2016-06-01 15:05
323 查看
首先要说说什么时候使用weakSelf和strongSelf。
下面引用一篇博客《到底什么时候才需要在ObjC的Block中使用weakSelf/strongSelf》的内容:
http://blog.lessfun.com/blog/2014/11/22/when-should-use-weakself-and-strongself-in-objc-block/
-------------------------------分割线---------------------------------------------
以上内容知道了我们为什么要用weakSelf和strongSelf, 为了简单实用一般会定义成宏weakify和strongify,如下:
使用过RAC的同学应该都知道@weakify和@strongify,这两个宏在RAC中是已经定义好的,可以直接用,属于比较牛逼的写法。这两个宏一定成对出现,先@weakify再@strongify.可以很好的管理Block内部对self的引用。可以一步步点开发现其实使用到了C语言中的组合运算符。
下面引用一篇博客《到底什么时候才需要在ObjC的Block中使用weakSelf/strongSelf》的内容:
http://blog.lessfun.com/blog/2014/11/22/when-should-use-weakself-and-strongself-in-objc-block/
-------------------------------分割线---------------------------------------------
以上内容知道了我们为什么要用weakSelf和strongSelf, 为了简单实用一般会定义成宏weakify和strongify,如下:
使用过RAC的同学应该都知道@weakify和@strongify,这两个宏在RAC中是已经定义好的,可以直接用,属于比较牛逼的写法。这两个宏一定成对出现,先@weakify再@strongify.可以很好的管理Block内部对self的引用。可以一步步点开发现其实使用到了C语言中的组合运算符。
相关文章推荐
- 【整理】jQuery知识点4
- ul+li实现类似table的自适应宽度布局
- C#文件下载(实现断点续传)
- AWT入门 Frame篇
- 如何使 maven+jetty运行时不锁定文件
- Centos7 Firewalld 自定义富规则
- Android:安卓Touch事件分发机制
- 【整理】jQuery知识点3
- Unique Binary Search Trees
- UITableView优化——UITableViewCell高度的优化
- javascript 中的console.log的作用
- 团队第二次冲刺08(6.01)
- Hibernate基础学习(九)—9999
- Vim 快捷键
- redis哨兵(sentinel)原理
- 在Linux中使用线程
- 图片放大时实现鼠标拖动查看完整图片功能
- Drupal 7 View Modes: Consistently themeing content across your site
- linux使用FIO测试磁盘的iops
- iOSCoreAnimation动画系列教程(二):CAKeyFrameAnimation【包会】