1

我希望最好地了解 dealloc 和 release 函数之间的区别.. 示例... 我的类从 NSObject calle MyClass 在我的代码中派生,要使用这个类,我创建了一个 MyClass 的实例。

// initialization
MyClass* test = [[MyClass alloc] init];

//do some stuff....

// release??
[ test release];

是正确的??和dealloc???需要按顺序使用还是一个覆盖另一个?

4

2 回答 2

2

当retainCount == 0 时,会自动调用dealloc。每次调用[test release],retainCount 减一。

在您的示例中,一切都很好,因为您进行了分配测试(保留计数 +1)然后释放(保留计数 0)。会自动调用 Dealloc

于 2010-07-27T09:14:04.230 回答
1

只要那是test生命的尽头,你就是对的。Dealloc of将根据您的语句test自动发生。[ test release]

于 2010-07-27T09:13:33.053 回答