Предположим, у нас есть один UIViewController
, назовите его A, в viewDidLoad
этого VC мы добавим к нему два UIViewControllers
(B, C). Теперь, чтобы сделать UI гладко в viewDidLoad
А мы делаем некоторые НОД работыGCD, очереди, влияющие на дочерние UIViewcontrollers, реентерабельные
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 rendenring.
Мой вопрос: достаточно ли работы GCD? или я должен сделать то же самое в the0 viewDidLoad
ребенка viewcontrollers
? просто потому, что я создал эти дочерние VC на фоновом потоке, это означает, что мне не нужно делать никаких GCD wokr? Я пытаюсь сделать свой интерфейс максимально восприимчивым, но не загромождать код. Я предполагаю, что другой способ формулировки будет состоять в том, что потоки GCD будут повторно введены? есть ли концепция reentrancy в iOS?
ли вы на самом деле возникают проблемы производительности, которые вы исследовали и определили вид установок в качестве причины? – jrturton
Ну, я смог повысить производительность, выполнив этот код. Я просто хотел узнать, влияют ли эти изменения на hiraqrcy of viewcontrollers. – Huang