これが私の最初の質問ですので、間違えたらすみません!
私の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];
}
しかし、残念ながら、これは機能しません。なぜなら、私はバックグラウンドスレッドにいるからです。
メソッドが非同期で実行されている変更をデリゲートに通知するにはどうすればよいですか?