1

コンソールに何百ものこのメッセージが表示されます:

__NSAutoreleaseNoPool(): Object 0x5d86f30 of class NSIndexPath autoreleased with no pool in place - just leaking

NSIndexPath 以外のクラスに関するさらに多くのメッセージに加えて。

これは、オブジェクトを追加するための自動解放プールがない状態でオブジェクトが自動解放されることを意味していることは承知していますが、iOS 5.0/.1 ではなく iOS 4.3 でのみ発生するのはなぜですか。

また、main() の戻り値が NSAutoreleasePool オブジェクトにラップされている場合、自動解放されたオブジェクトを追加するための自動解放プールがないのはなぜですか?

4

1 に答える 1

2

これが問題かどうかはわかりませんが、main() の autoreleasepool は UIThread で機能します (少なくとも 4.3 では) 別のスレッドを開くときに、その周りに新しい autoreleasepool を配置する必要があります (autoreleases を使用する場合のみ)。

于 2012-04-11T12:01:51.933 に答える