作爲標題。調用performSelector後,是否需要調用NSAutoReleasePool:withObject:afterDelay?需要在performSelector之後調用NSAutoReleasePool:withObject:afterDelay?
我認爲performSelector:withObject:afterDelay:不在主線程中,所以需要添加自動釋放池。那是對的嗎?
例如:
[self performSelector:@selector(update) withObject:nil afterDelay:0.1];
-(void) update {
NSAutoReleasePool *pool = [[NSAutoReleasePool alloc] init]; // Is it necessary
...
[pool drain];
}
謝謝!
「您需要創建自己的autoreleasepool的唯一實例是如果您一次創建並自動釋放大量對象。」 - 那是錯誤的。您還需要爲您分離的任何線程分別使用自動釋放池。 – 2012-08-10 08:53:25
@ H2CO3這是真的。然而,OP正在工作並不分離NSThreads。 – Jessedc 2012-08-10 12:10:52