私はそれを知ってallocおりretain、オブジェクトの参照カウントを増やします。実際に参照カウントをインクリメントする他の方法はありますか? そして、いつ/どのようdeallocに呼び出されますか?
2 に答える
7
alloc保持カウント 1 でオブジェクトを割り当てます。- で始まるメソッド
newも保持カウント 1 のオブジェクトを返します。 retainカウントを 1 増やします。releaseそしてautorelease(実行ループの終わりに)それを1減らします。- クラスの名前 (プレフィックスなし) で始まるメソッドは、自動解放されたオブジェクトを返します。つまり、自分で保持しないと、サイクルの最後に解放されます。
- 最後に、オブジェクトをコピーするメソッド (通常は で始まる
copy) も保持カウント 1 でコピーを作成します。
deallocオブジェクトの保持カウントが 0 になったときに呼び出されます。
PS。まだ知らない場合は、自動参照カウント (ARC)の使用を検討してください。
于 2012-12-26T17:37:28.543 に答える
3
これらを使用すると、保持カウントが増加します。
新しいですが、alloc+init と見なすことができます。
保持
copy は、retain count=1 で新しいオブジェクトを作成します
mutableCopy は、retain count=1 で新しいオブジェクトを作成します
dealloc保持カウントが 0 になるとすぐに自動的に呼び出されます。
于 2012-12-26T17:36:16.870 に答える