Instance Method インスタンスメソッド

drain

In a reference-counted environment, releases and pops the receiver; in a garbage-collected environment, triggers garbage collection if the memory allocated since the last collection is greater than the current threshold. 参照カウント環境では、レシーバをリリース(解放)してポップ(スタックから取り出し)します、ガベージコレクション環境では、ガベージコレクションを引き起こします、もし最後のコレクションから今までにアロケートされたメモリが現在のしきい値より大きいならば。

Declaration 宣言

- (void)drain;

Discussion 議論

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メッセージを受け取ります。

Special Considerations 特別な注意事項

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をガベージコレクション環境に対してコンパイルされるかもしれない何らかのコードにおいて使うことは重要です。

See Also 参照

Managing a Pool プールを管理する