Как отменить или остановить NSTHAED?

Я делаю приложение, которое загружает содержимое ViewControllers, используя NStHeread, пока читает файл 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, пока NSTHAED загружается, делая это сбои приложения.

Я пытался отменить или выйти из Nsthread следующим образом, но без успеха:

-(void)viewsDidDisappear:(BOOL)animated{
    [NSThread cancel];
    // or [NSThread exit];
    [super viewDidDisappear:YES];
}

Кто-нибудь может помочь? Спасибо.

6
задан karse23 13 September 2011 в 11:48
поделиться