假设我们有一个UIViewController
,称之为 A,在viewDidLoad
那个 VC 中我们添加两个UIViewControllers
(B,C)。现在为了使viewDidLoad
A 中的 UI 流畅,我们做了一些 GCD 工作
dispatch_queue_t queue = dispatch_queue_create("myqueue", NULL);
dispatch_async(queue, ^{
// Create webviews, 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:webView];
});
});
所以ParentViewController
在 UI 渲染方面要好一些。
我的问题是:这足够 GCD 工作吗?viewDidLoad
还是我应该对孩子做同样的事情viewcontrollers
?仅仅因为我在后台线程上创建了这些子 VC,这是否意味着我不需要对它们执行任何 GCD wokr?我正在尝试使我的 UI 尽可能地响应,但不要使代码混乱。我想另一种说法是 GCD 线程是可重入的吗?iOS中有重入的概念吗?