在Xcode4.2中,我发现它非常令人沮丧,因为你不能使用:
-(void)dealloc {
[label release]; //'release' is unavailable
[super dealloc]; //'dealloc' is forbidden in automatic reference counting
}有没有其他方法,因为自动释放和其他交易锁定也不起作用。
发布于 2011-10-12 10:43:30
Xcode4.2引入了“自动引用计数”(又称ARC)。这是一个编译器特性,它基本上会为您插入保留和释放调用。在ARC下,如果你有一个指向一个对象的指针,你会保留它。当指针超出作用域,或被重新指定为指向另一个对象时,将释放原始对象。真的很不错。
因此,简而言之,您只需删除对retain、release和autorelease的所有调用,编译器就会为您做正确的事情。
发布于 2011-10-12 10:22:57
阅读有关自动引用计数的内容。如果你正确地编写了代码,你就不再需要做这些事情了。
如果您想使用旧代码而不进行转换,请禁用ARC。将-fno-objc-arc放在编译器标志中,用于任何你不想使用的源模块。
乔
https://stackoverflow.com/questions/7734502
复制相似问题