1

私はdeallocとrelease関数の違いを最もよく理解したいと思います...例...コードにNSObject呼び出しMyClassから派生したクラスがあり、このクラスを使用するために、MyClassのインスタンスを作成します。

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

//do some stuff....

// release??
[ test release];

は正しい??とdealloc??? 順番に使用する必要がありますか、一方が他方を上書きしますか?

4

2 に答える 2

2

reservedCountが==0の場合、deallocが自動的に呼び出されます。[テストリリース]を呼び出すたびに、retainCountが1つ減ります。

あなたの例では、allocテスト(カウント+1を保持)してからリリース(カウント0を保持)するので、すべてが正常です。Deallocは自動的に呼び出されます

于 2010-07-27T09:14:04.230 に答える
1

それが人生の終わりである限りtest、あなたは正しいです。のDeallocは、ステートメントtestの関数として自動的に発生します。[ test release]

于 2010-07-27T09:13:33.053 に答える