在xcode 4.2中,我发现它非常令人沮丧,因为你不能使用:
-(void)dealloc {
[label release]; //'release' is unavailable
[super dealloc]; //'dealloc' is forbidden in automatic reference counting
}
Run Code Online (Sandbox Code Playgroud)
还有另外一种方法,因为autorelease和其他deallocs也不起作用.
Xcode 4.2引入了"自动引用计数"(又称ARC).这是一个编译器功能,基本上为您插入保留和释放调用.在ARC下,如果你有一个指向对象的指针,你就会保留它.当指针超出范围或重新指定指向另一个对象时,将释放原始对象.这太好了.
因此,简而言之,你只是删除所有的通话retain,release以及autorelease,编译器会做正确的事情为你.