Мне действительно нужна помощь здесь. Я в отчаянии в этот момент.
У меня есть 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 или при создании операции, будет вызван метод main, и все будет работать отлично.
Это работало нормально долгое время. Недавно я вносил некоторые изменения, и, видимо, что-то испортило. Одним из таких изменений было обновление устройства до iOS 5.1 SDK (iPad).
Чтобы добавить что-то, у меня есть версия этого приложения для iPhone (iOS 5.1), которая использует тот же объект NSOperation. Разница только в интерфейсе, и все работает нормально.
О, и это происходит только на реальном устройстве. В симуляторе все работает нормально.
Любая помощь будет по достоинству оценена.
С уважением,