我开始使用Xcode 4.2,看起来你不能像以前一样使用dealloc和release了。 如果我写下面的实现:
@implementation Person
@synthesize firstName;
@synthesize lastName;
- (void) dealloc
{
[firstName release];
[lastName release];
[super dealloc];
}
编译器困扰我说在自动引用计数模式下释放不可用。它是Objective-C 2.0的一个特性吗?我可以在哪里阅读更多信息?
答案 0 :(得分:5)
这实际上是Automatic Reference Counting(ARC)的一项功能。如果关闭ARC,则可以使用手动内存管理或(仅限Mac OS X)垃圾回收。
答案 1 :(得分:3)
在ARC中,您不需要使用release或autorelease,编译器会为您完成所有操作。在Apple开发者网站上快速搜索release notes。
答案 2 :(得分:0)
使用需要与ARC和非ARC兼容的库代码时怎么样? 我们是否被迫编写相同代码的两个版本,唯一的区别是删除了dealloc方法?