0

私が読んでいる本では、NSAutoreleasePool排水を強制することについて話しています。NSAutoreleasePoolこれは、既に存在するものを排出するのではなく、ローカルを作成してから排出することを意味しますか? つまり、NSAutoreleasePool2回または複数回排出することはできませんか?

4

1 に答える 1

2

いいえ、自動解放プールを複数回排出することはできません。

ローカルの NSAutoreleasePool を作成してからドレインするという意味ですか

はい。新しいプールを作成して排出するか、(さらに良い) を使用します@autoreleasepool

NSAutoreleasePool を 2 回または複数回排出することはできませんか?

正しい。 状態のドキュメントdrain:

参照カウント環境では、このメソッドはリリースと同じように動作します。自動解放プールは保持できないため ( retainを参照)、レシーバーの割り当てが解除されます。

自動解放プールは への最初の呼び出しの後に割り当てが解除されるため、後でそのプールのメソッドを呼び出すことdrainは決して有効ではありません。drain

于 2012-05-13T19:50:31.020 に答える