我知道UI只應該在主線程上更新,但是可以在單獨的線程上創建和添加子視圖,只要它們沒有添加到可見視圖中?會造成內存和性能問題嗎?這是一些示例代碼。在後臺線程上構建UIViews
NSOperationQueue *queue = [[NSOperationQueue alloc] init];
[queue addOperationWithBlock:^{
// do some fancy calculations, building views
UIView *aView = ..
for (int i, i<1000, i++)
{
UIView *subView = …
[aView addSubview:subView];
}
// Update UI on Main Thread
[queue addOperationWithBlock:^{
[[NSOperationQueue mainQueue] addOperationWithBlock:^{
// Update the interface
[self.view addSubview:aView];
}];
}];
}];
您應該查看2012年WWDC視頻「在iOS上構建併發用戶界面」。 –