@Strongify,@Weakify主要是在block中使用.

因为block一般都在对象内部声明.. 如果在block内部使用了当前对象的属性,就会造成循环引用(block拥有当前对象的地址,而当前对象拥有block的地址),而引起内存泄露,block和当前对象都无法释放.

@weakify(self) 将当前对象声明为weak.. 这样block内部引用当前对象,就不会造成引用计数+1可以破解循环引用

@strongify(self) 相当于声明一个局部的strong对象,等于当前对象.可以保证block调用的时候,内部的对象不会释放

大概用例:

__weak __typeof(self)weakSelf = self;
block = ^(){
__strong __typeof(weakSelf)strongSelf = weakSelf; // strongSelf.property
};

详细讲解文章:

点击跳转

最新文章

  1. host位置
  2. yiii 框架登录 判断是否是游客模式及未登录状态
  3. PHP中使用Session配合Javascript实现文件上传进度条功能
  4. 批量插入使用SqlBulkCopy
  5. 虚拟机Linux和Windows之间互传文件的好帮手WinSCP
  6. Eclipse热部署JSP
  7. Solr4.8.0源码分析(6)之非排序查询
  8. 从ThoughtWorks 2017技术雷达看微软技术
  9. Python:main函数
  10. PHP内核之旅-2.SAPI中的Cli
  11. SUSE12SP3-Mycat(1)安装
  12. Self-organizing Maps及其改进算法Neural gas聚类在异常进程事件识别可行性初探
  13. xdoj-1297 Tr0y And His Startup
  14. 常见的爬虫分析库(4)-爬虫之PyQuery
  15. HTTP的简单的解析
  16. 在Qt项目中如何添加一个已有的项目作为子项目
  17. Ground Defense【不知道叫啥可能就是枚举】
  18. 移动端常用的 meta设置
  19. MySQL 创建自定义函数
  20. python之multiprocessing创建进程

热门文章

  1. Qt 添加启动项
  2. September 6th 2016 Week 37th Tuesday
  3. HttpClient 3.X 4.3 4.x超时设置
  4. 假期(codevs 3622)
  5. 打开Genesis设置单位为mm
  6. 第四章 面向对象与IO操作
  7. 【javascript】 for循环小技巧
  8. 重温WCF之会话Session(九)
  9. Delphi中的基础数据类型
  10. Hadoop 苦旅(1)——准备以及Cygwin安装