Я делаю приложение, которое загружает содержимое viewControllers с помощью NSThread, пока читает файл XML.
Я сделал это следующим образом:
-(void)viewDidAppear:(BOOL)animated
{
// Some code...
[NSThread detachNewThreadSelector:@selector(loadXML) toTarget:self withObject:nil];
[super viewDidAppear:YES];
}
-(void)loadXML{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
// Read XML, create objects...
[pool release];
}
Моя проблема в том, что я не знаю, как остановить NSThread, если пользователь переключается на другой viewController во время загрузки NSThread, и это приводит к сбою приложения.
Я пытался отменить или выйти из NSThread следующим образом, но безуспешно:
-(void)viewsDidDisappear:(BOOL)animated{
[NSThread cancel];
// or [NSThread exit];
[super viewDidDisappear:YES];
}
Кто-нибудь может помочь? Спасибо.