Я использовал NSOperationQueue в своем iPhone-приложении раньше в iPhone OS 3.0, но теперь в iOS 4.0 код работает неправильно. Он работает правильно только один раз и во всех последующих вызовах, он не работает. Были ли изменения в NSOperationQueue в iOS 4.0?Почему мой NSOperationQueue не работает корректно в iOS 4.0?
Соответствующий код выглядит следующим образом:
- (void) starteffectFunction {
NSOperationQueue *queue = [NSOperationQueue new];
NSInvocationOperation *operation = [[NSInvocationOperation alloc] initWithTarget:self selector:@selector(starteffectProcessing)
object:nil];
[queue addOperation:operation];
[operation release];
[queue release];
[spinner startAnimating];
}
-(void) starteffectProcessing{
some code executes. code snippet. A
......
this code is note supposed to execute before A completes. But this executes before A.
}
Пожалуйста, объясните, что «не работает». Сбой или вообще ничего не происходит, вы получите предупреждение и сообщение об ошибке, какой-нибудь другой намек? – DarkDust
Нет, никаких предупреждений, ошибок и сбоев нет. То, что я делаю, это создание nsoperationqueue и выполнение функции. И я показываю spinner, пока эта nsoperation не завершится. Это работает в первый раз, но во второй раз. Код, который должен выполняться после завершения nsoperationqueue, выполняется до завершения nsoperation. – nishantcm
Как насчет предоставления нам фрагмента кода? – tia