请看下面的代码,outputConsole是UITextView
- (IBAction)buttonBuildDown
{
[self performSelectorInBackground:@selector(processBuildDown) withObject:nil];
}
- (void)processBuildDown
...
[outputConsole setText:outputText];
...
[outputConsole setText:outputText];
}
代码[outputConsole setText:outputText]引发:
试图从非主线程的线程获取web锁或者是蜘蛛网。这可能是调用UIKit的结果辅助线程。崩溃现在…
如何解决这个问题?我需要处理一个长操作(约5秒),通过UITextView通知用户关于进程的状态。
非常感谢你的帮助!
UIKit不是线程安全的,你应该只从主线程更新UI元素,使用NSObjects, performSelectorOnMainThread方法来执行将在主线程上运行的代码,并设置UITextViews文本…
丹尼尔