Iphone 如何从performSelectorInBackground线程更新UITextView?

Iphone 如何从performSelectorInBackground线程更新UITextView?,iphone,multithreading,Iphone,Multithreading,请看下面的代码,outputConsole是UITextView - (IBAction)buttonBuildDown { [self performSelectorInBackground:@selector(processBuildDown) withObject:nil]; } - (void)processBuildDown ... [outputConsole setText:outputText]; ... [outputConsole s

请看下面的代码,outputConsole是UITextView

- (IBAction)buttonBuildDown
{
    [self performSelectorInBackground:@selector(processBuildDown) withObject:nil];
}

- (void)processBuildDown
    ...
    [outputConsole setText:outputText];
    ...
    [outputConsole setText:outputText];
}
代码[outputConsole setText:outputText]引发:

试图从主线程以外的线程获取web锁 或者网络线程。这可能是由于从 次级线程。现在崩溃了

如何解决这个问题?我需要处理一个长操作(大约5秒),并通过UITextView通知用户进程的状态


非常感谢你的帮助

UIKit不是线程安全的,您应该只从主线程更新UI元素,使用NSObjects、performSelectorOnMainThread方法来执行将在主线程上运行的代码,并设置UITextViews文本


Daniel

UIKit不是线程安全的,您应该只从主线程更新UI元素,使用NSObjects、performSelectorOnMainThread方法来执行将在主线程上运行的代码,并设置UITextView文本


丹尼尔

谢谢你,丹尼尔!你救了我的灵魂!谢谢,丹尼尔!你救了我的灵魂!