У меня есть UITableViewController, где я создаю NSInvocationOperation и добавляю его в NSOperationQueue следующим образом:
-(void) doOperation{
NSInvocationOperation *imgSizeOperation = [[[NSInvocationOperation alloc] initWithTarget:self selector:@selector(calculateImg) object:nil] autorelease];
[_operationQueue addOperation:imgSizeOperation];
}
В методе Calculate я делаю некоторые вычисления, а затем хочу опубликовать уведомление в основной теме:
-(void) calculateImg{
// calculate
[self performSelectorOnMainThread:@selector(fireNotification) withObject:nil waitUntilDone:YES];
}
-(void) fireNotification{
[[NSNotificationCenter defaultCenter] postNotificationName:@"ImageCalculatorEndNotification" object:nil] ;
}
-(void) imageCalculatorEndNotification:(id) sender{
NSLog(@"Image calculator end notification");
}
Что происходит, так это то, что я вижу в журнале сообщение "Уведомление о завершении калькулятора изображений" два раза. У меня вопрос, почему в основной ветке два раза отправляется уведомление? Что не так с этим кодом?