设计模式iOS进阶相关程序员

iOS ARC

2016-01-25  本文已影响250人  cjnwan

内存管理

内存管理的基本规则

自己生成的对象,自己持有

使用以下名称开头的方法名意味着自己生成的对象只能自己持有

非自己生成的对象,自己也能持有

通过retain方法,非自己生成的对象跟用alloc/new/copy/mutableCopy方法生成并持有的对象一样,成为自己持有

不再需要自己持有的对象要释放

自己持有的对象,一旦不在需要,持有者有义务释放该对象,使用release方法
使用autorelease推迟对象的释(一般用于返回对象的方法)

非自己持有的对象无法释放

alloc/retain/release/dealloc实现

autorelease实现

什么时候手动添加autoreleasepool

ARC规则

修饰符

__strong修饰符

__weak修饰符

__unsafe_unretained

__autoreleasing

规则

显示转换"id"和“void *”

ARC的实现

__strong修饰符

__weak修饰符

__autoreleasing

引用计数

上一篇 下一篇

猜你喜欢

热点阅读