同时更新两个UILabels



我有两个UILabels,需要以毫秒为单位进行更新。我运行了我的应用程序,注意到其中一个UILabel("第二个UILabel")的更新速度比第一个慢。差别不大,但可以察觉。

第二个UILabel在UILabel上显示其结果之前进行简短的计算。我怀疑我可能需要把这个推到后台线程。

我在Java中使用过线程,但我想探索GCD、操作队列、调度队列等。我读了很多关于它们的文章(尤其是从苹果网站上),但就是无法理解它们。

所以我需要和这里的大师核实一下:

Q1:第二个UILabel感知问题是由于UI线程的更新导致线程争用吗?

Q2:我的应用程序更新第二个UILabel需要后台线程吗?或者GCD等就足够了吗?

答案。

dispatch_queue_t background_queue = dispatch_queue_create("label", NULL);
dispatch_async(background_queue, ^{
    // do some stuff that takes a long time here...
    // follow up with some stuff on the main queue
    dispatch_async(dispatch_get_main_queue(), ^{
        // Typically updating the UI on the main thread.
    });
});

最新更新