如果我用以下方法调用方法:
[self checkThenWriteToMasterArray];
然后一切正常,(但当然锁屏)。但如果我打电话
[self performSelectorInBackground:@selector(checkThenWriteToMasterArray) withObject:nil];
程序崩溃了。方法本身设置如下:
-(void) checkThenWriteToMasterArray {
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
// do stuff, INCLUDING calling other (sub)methods
[pool release]
}
当我从主线程调用[self checkThenWriteToMasterArray]时,无论我是否已分配NSAutoreleasePool,程序都能正常工作。调用的(子)方法没有自己的NSAutoreleasePool。
老实说,编译器错误消息太混乱了,我还没有找到一种方法来调试。