这是我在这里的第一个问题,如果我犯了任何错误,请原谅!
在我的 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];
}
但不幸的是,这不起作用,因为(我认为)我在后台线程中。
如何通过异步执行的方法通知委托任何更改?