7

4.3.5 で ARC で NSThreads を使用しようとしています。iOS 5 ではすべてが完璧に動作しますが、4.3 のような古い iOS で試してみると、リークが発生します。通常、私は NSThreads に Autoreleasepool を使用しますが、ARC には手動の Autoreleasepool がないため、これを修正する方法がわかりません。

スレッドを開始した後、「__NSAutoreleaseNoPool(): オブジェクト 0x4567b40 のクラス NSComparisonPredicate autoreleased with no pool in place - just leaking」のようなメッセージがコンソールに大量に表示されます。

NSThread detachNewThreadSelector:@selector(showAlert) toTarget:self withObject:nil];

5.0 より前の ARC および iOS で正しくスレッド化する方法。

乾杯ネッツ

4

1 に答える 1

19
-(void)showAlert
{
    @autoreleasepool {
        // Your code.
    }
}
于 2011-08-22T15:01:46.743 に答える