release
autorelease
retain
Availability 有効性
Technology
- (void)drain;
In a reference-counted environment, this method behaves the same as release
. Since an autorelease pool cannot be retained (see retain), this therefore causes the receiver to be deallocated. When an autorelease pool is deallocated, it sends a release
message to all its autoreleased objects. If an object is added several times to the same pool, when the pool is deallocated it receives a release
message for each time it was added.
参照カウント環境において、このメソッドはrelease
と同じ振る舞いをします。オートリリースプールはリテインされることができないことから(retainを見てください)、これはしたがってレシーバがデアロケートされることを引き起こします。オートリリースプールがデアロケートされる時、それはrelease
メッセージをそれのオートリリースされるオブジェクト全てに送信します。あるオブジェクトが何度か同じプールに加えられるならば、そのプールがデアロケートされる時にそれはそれが加えられた時それぞれに対するrelease
メッセージを受け取ります。
In a garbage-collected environment, release
is a no-op, so unless you do not want to give the collector a hint it is important to use drain
in any code that may be compiled for a garbage-collected environment.
ガベージコレクション環境では、release
はno-op(何もしないという命令)です、それであなたがコレクタにヒントを与えることを望まない場合を除いて、drain
をガベージコレクション環境に対してコンパイルされるかもしれない何らかのコードにおいて使うことは重要です。
release
autorelease
retain