Мне действительно нужна помощь. Я в отчаянии в этот момент.
У меня есть NSOperation, который при добавлении в NSOperationQueue не запускается. Я добавил запись в журнал, чтобы увидеть статус NSOperation, и вот результат:
Queue operations count = 1
Queue isSuspended = 0
Operation isCancelled? = 0
Operation isConcurrent? = 0
Operation isFinished? = 0
Operation isExecuted? = 0
Operation isReady? = 1
Operation dependencies? = 0
Код очень прост. Ничего особенного.
LoadingConflictEvents_iPad *loadingEvents = [[LoadingConflictEvents_iPad alloc] initWithNibName:@"LoadingConflictEvents_iPad" bundle:[NSBundle mainBundle]];
loadingEvents.modalPresentationStyle = UIModalPresentationFormSheet;
loadingEvents.conflictOpDelegate = self;
[self presentModalViewController:loadingEvents animated:NO];
[loadingEvents release];
ConflictEventOperation *operation = [[ConflictEventOperation alloc] initWithParameters:wiLr.formNumber pWI_ID:wiLr.wi_id];
[queue addOperation:operation];
NSLog(@"Queue operations count = %d",[queue operationCount]);
NSLog(@"Queue isSuspended = %d",[queue isSuspended]);
NSLog(@"Operation isCancelled? = %d",[operation isCancelled]);
NSLog(@"Operation isConcurrent? = %d",[operation isConcurrent]);
NSLog(@"Operation isFinished? = %d",[operation isFinished]);
NSLog(@"Operation isExecuted? = %d",[operation isExecuting]);
NSLog(@"Operation isReady? = %d",[operation isReady]);
NSLog(@"Operation dependencies? = %d",[[operation dependencies] count]);
[operation release];
Теперь моя операция делает много вещей в основном методе, но проблема никогда не вызывается. Главное никогда не выполняется. Самое странное (поверьте, я не псих..пока). Если я поставлю точку останова в любой строке NSLog или при создании операции, будет вызван основной метод, и все будет работать отлично.
Это работало нормально в течение долгого времени. Недавно я вносил некоторые изменения, и, видимо, что-то напортачило. Одним из таких изменений было обновление устройства до iOS 5.1 SDK (iPad).
Чтобы добавить кое-что, у меня есть версия этого приложения для iPhone (iOS 5.1), в которой используется тот же объект NSOperation. Разница только в UI, и все работает нормально.
Да, и это не работает только на самом устройстве. В симуляторе все работает нормально.
Будем признательны за любую помощь.
С уважением,