gpt4 book ai didi

ios - GCD,执行顺序?

转载 作者:行者123 更新时间:2023-12-01 18:24:03 33 4
gpt4 key购买 nike

假设我们有一个 UIVewcontroller,叫它 A,在那个 VC 的 viewdidload 中我们添加两个 UIViewcontrollers(B,C)。现在为了使 A 的 Viewdidload 中的 UI 平滑,我们做了一些 GCD 工作

  dispatch_queue_t queue = dispatch_queue_create("CustomQueue", NULL);
dispatch_async(queue, ^{
// Create views, do some setup here, etc etc
// Perform on main thread/queue
dispatch_async(dispatch_get_main_queue(), ^{
// this always has to happen on the main thread
[self.view addSubview:myview1];
[self.view addSubview:myview2];
[self.view addSubview:myview3];
});
});

现在基于此代码,我是否保证 View 将以相同的顺序添加?查看 1 ,然后 2 ,然后 3?

我注意到任意一些 View 出现在其他 View 之前!

最佳答案

您的问题几乎可以肯定是这部分:

  dispatch_async(queue, ^{
// Create views, do some setup here, etc etc

你不能在后台线程上做任何与 View 相关的事情(或者实际上是任何与 UIKit 相关的事情)。时期。

关于ios - GCD,执行顺序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15076505/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com