ARC下的Block
来源:互联网 发布:人工智能发展趋势作文 编辑:程序博客网 时间:2024/06/07 14:54
【ARC的特性】
ARC下,所有NSObject类型指针,
1. 默认为__strong类型
2. 可以显示的指定为__weak类型,__weak类型指针在所指向对象销毁后会自动置为nil
3. __autorelesing类型用于inout参数类型
ARC下,当一个函数返回一个NSObject指针时,编译器会帮我们实现autorelease调用。例如:
return pObject;
编译器会帮我们扩展为 return [pObject autorelease];
ARC下,不能显式release,可以使用将值赋为nil来让编译器为我们release。
【ARC与Block】
Block的生命周期管理非常的微妙,与ARC混在一起后,更加复杂。
当Block延stack向上(up)传递的时候,直接返回,编译器会添加[[ copy] autorelease]代码。
当Block延stack向下传递给需要retain的容器的时候,需要显式的调用[^{} copy]方法。
在ARC下,__block修改的NSObject指针依然会被retain。
在ARC下,一个block内引用一个对象的实例变量后,self会被retain,所以极易造成strong reference cycle,可以通过__weak指针来避免这种情形,因为ARC不会为__weak指针retain。
- ARC下的Block
- arc下的block简述
- iOS之ARC下的Block
- iOS之ARC下的Block
- arc下的block使用注意事项
- iOS Block在ARC/非ARC下的使用总结
- iOS Block在ARC/非ARC下的使用总结
- iOS Block在ARC/非ARC下的使用总结
- ARC和非ARC下使用Block属性的问题
- ARC和非ARC下使用Block属性的问题
- block在ARC/非ARC下的使用
- ARC下block,weak,unsafe_unretained
- 非ARC下返回Block
- 非ARC下返回Block
- ARC下的block导致的循环引用问题解析
- ARC下的block的循环引用问题
- ARC和MRC下的block的内存分布详解
- ios开发 block 在ARC机制下的内存管理
- hibernate 三种状态深入分析
- Session机制详解
- 去掉Visual Studio 编辑器里中文注释的红色波浪线
- apt-get使用介绍
- 什么是图灵机
- ARC下的Block
- uestc 1554 Counting Binary Trees (catalan 数)
- andorid4.2 mtk无论在什么情况下按耳机按钮都会调用音乐播放器
- COCOS2D常用的游戏编辑器
- 【免费xp系统下载】教你如何让魅族MX升级系统
- Linux中DD命令详解
- 【7gyy】Windows7系统删除文件的相关问题
- 制作自定义背景Button按钮、自定义形状Button的全攻略
- JNI及Android JNI 开发基本知识和具体操作步骤