作为标题。调用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