@strongify以及@weakify宏命令的的使用(1)

原创 2016年06月01日 15:00:09
主要是在block中使用

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

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

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

大概相当于


那么问题来了,到底什么时候才需要在ObjC的Block中使用weakSelf/strongSelf

看我的第二篇文章:

版权声明:本文为博主原创文章,未经博主允许不得转载。

深入研究Block用weakSelf、strongSelf、@weakify、@strongify解决循环引用

前言 在上篇中,仔细分析了一下Block的实现原理以及__block捕获外部变量的原理。然而实际使用Block过程中,还是会遇到一些问题,比如Retain Circle的问题。 目录 1.R...
  • qq_30513483
  • qq_30513483
  • 2016年09月19日 17:15
  • 2015

js组合模式及更强大的宏命令

js组合模式及更强大的宏命令 案例:1.打开空调;2.打开电视和音响;3.关门、开电脑、登录QQ 按我 var MacroCommand = function(){ ...
  • Hi_xiexialing
  • Hi_xiexialing
  • 2017年01月23日 14:06
  • 175

深入研究Block用weakSelf、strongSelf、@weakify、@strongify解决循环引用

本文作者: 伯乐在线 - 一缕殇流化隐半边冰霜 。未经作者许可,禁止转载!欢迎加入伯乐在线 专栏作者。 前言 在上篇中,仔细分析了一下Block的实现原理以及__block捕获外部变量的原理。然而实际...
  • jsd0915
  • jsd0915
  • 2017年03月02日 11:51
  • 110

ReactiveCocoa之常见用法(二)

ReactiveCocoa开发中常见用法。    代替代理:  rac_signalForSelector:用于替代代理。    代替KVO :  rac_valu...
  • majiakun1
  • majiakun1
  • 2016年10月26日 19:59
  • 1026

itkMacro.h —— ITK宏详细解析

ITK的源代码使用了相当多的宏。查看帮助文档和类的头文件时,会发现帮助文档里的好多函数在头文件里找不到明显的定义,比如说好多函数都是以”Set”或”Get”打头的,但是头文件就是找不到有Set***的...
  • colddie
  • colddie
  • 2013年03月06日 11:01
  • 868

Lisp中的Loop宏

LOOP提供了一种写循环迭代的特殊语言。   这可能看起来比较大动干戈----为了写循环特地发明一种新的语言。但是如果你想想循环在程序中的用处,这种行为开始有点儿在理。不论任何程序的大小,他们都会包含...
  • fishfromland
  • fishfromland
  • 2014年01月10日 22:44
  • 624

预定义着色器预处理宏

预定义着色器预处理宏         编译着色器程序时,Unity 会定义几个预处理宏。 目标平台 SHADER_API_OPENGL - 桌面 OpenGL ...
  • cexgiant
  • cexgiant
  • 2016年09月19日 09:25
  • 489

Visio二次开发(一)----巧用Visio宏

最近做的项目中需要用到Visio二次开发,安装了Visio的SDK,还有从网上找了一些这方面的博客,Visio的SDK是全英文的,看着有点费劲,很多的东西都不知道该如何去找,不过网上的一些博客还是有一...
  • u010853701
  • u010853701
  • 2015年09月16日 23:14
  • 5548

cocos2dx常用宏命令

初学C++,对C++里面的一些语法一时无法适应,例如C++里面的宏命令。 初看之下有些头疼,现在慢慢的也看懂了一些。现在在这边记录下一些常用宏命令方便初学者参考 cocos2dx的...
  • zq5599966_xy
  • zq5599966_xy
  • 2013年02月22日 14:32
  • 1817

php 宏命令模式

/* 宏命令 新增复制命令和粘贴命令,然后添加到宏命令中去 */ /** *命令角色 *@author li.yonghuan *@version 2014.01.28 */ interf...
  • wmsjlihuan
  • wmsjlihuan
  • 2014年03月02日 14:11
  • 1470
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:@strongify以及@weakify宏命令的的使用(1)
举报原因:
原因补充:

(最多只允许输入30个字)