内存管理

避免不小心引用无效对象,一般调用release之后都清空指针

NSNuber *number =[[NSNumber alloc]initWithInt:122];

[arrary addObject:number];

[number release];

number = nil;

 

属性存取中的内存管理

保留新值,释放旧的值。

-(void)setFoo:(id)foo{

    [foo retain];

    [_foo release];

    _foo = foo;

}

 

ARC简化引用计数

不能再调用

retain

release

autorelease

dealloc 方法了。

这样会干扰编译器的分析,并且,编译器加入的方法都是这些函数的c api (objc_retain),实际上那些retain函数根本就不会执行。

使用ARC时必须遵循的方法命名规则

若方法名以下列词语开头,其返回的对象归调用者所有

alloc

new

copy

mutableCopy

 

你可能感兴趣的:(内存管理)