это мой первый вопрос здесь, так что извините, если я допустил какие-либо ошибки!
В моем проекте iPhone у меня есть метод, запущенный в потоке, выполнение которого занимает много времени (поэтому он выполняется в потоке).
[NSThread detachNewThreadSelector:@selector(methodToBeCalledInAThread) toTarget:self withObject:nil];
// ...
-(void)methodToBeCalledInAThread {
MyClass *myClass = [[MyClass alloc] init];
[myClass setDelegate:self];
[myClass veryIntensiveComputing];
[myClass release];
}
Моя цель - уведомить ViewController, вызывающий этот метод, о любом прогрессе, происходящем в этом методе. Вот почему я установил ViewController как делегат класса.
Теперь в дорогом методе я делаю следующее:
if(self.delegate != nil) {
[self.delegate madeSomeProgress];
}
Но, к сожалению, это не работает, потому что (я думаю) я в фоновой ветке.
Как мне добиться уведомления делегата о любых изменениях метода, выполняемого асинхронно?