0

好的,所以我知道您不应该直接与主线程以外的任何线程中的视图元素进行交互。

但是你能在一个视图使用的后台线程中做一些事情吗?

特别是,我有一个相当充实的算法,最终会吐出一个字符串。如果我希望该字符串成为 UITextView 的文本,是否需要在主线程上运行整个算法?还是可以在后台完成?

4

1 回答 1

1

您当然可以在后台运行它,就像图形应用程序可能在后台渲染图像一样。一旦你准备好字符串,GCD 就是你的朋友:

- (void)backgroundStringGenerator
{
    NSString *expensiveString = ... // do string generation algorithm

    dispatch_async(dispatch_get_main_queue(), ^{
        theLabel.text = expensiveString;
    });
}
于 2012-07-14T01:38:46.817 回答