У меня есть UIWebView в контроллере представления, который имеет два метода, как показано ниже. Вопрос в том, если я вытащу (коснитесь назад на панели навигации) этот контроллер до того, как будет выполнен второй поток, приложение выйдет из строя после [super Dealloc], потому что «Пытался получить веб-блокировку из потока, отличного от основного потока или веб-поток. Это может быть результатом вызова UIKit из вторичного потока.". Любая помощь могла бы быть полезна.
-(void)viewDidAppear:(BOOL)animated {
[super viewWillAppear:animated];
NSInvocationOperation *operation = [[NSInvocationOperation alloc] initWithTarget:self selector:@selector(load) object:nil];
[operationQueue addOperation:operation];
[operation release];
}
-(void)load {
[NSThread sleepForTimeInterval:5];
[self performSelectorOnMainThread:@selector(done) withObject:nil waitUntilDone:NO];
}
self performSelectorOnMainThread:
наsuper performSelectorOnMainThread:
? 21.06.2011dealloc
может ожидать, что все будет очищено немедленно, и запуск его в другом потоке означает, что он будет асинхронным, если только вы не использовалиwaitUntilDone:YES
. Попробуйте и дайте нам знать! 11.09.2011