我可以在另一个线程中加载Nib吗? (iPhone开发)

时间:2011-07-28 09:09:27

标签: iphone multithreading cocoa-touch nib

目前,我正从服务器获取下一个视图的数据。 在此过程中,我向用户显示加载指示器。 加载数据后,主线程会收到通知并加载新视图的nib。

我的问题是: 因为我已经有了这个加载机制,我可以安全地将nib加载到工作线程中,只是从主线程中推送它们吗?

1 个答案:

答案 0 :(得分:1)

UIKit不是线程安全的,所以我怀疑在次要线程中加载nib应该是非常不安全的。只需在UIViewController中加载nib并从主线程显示它可能对你有用,并可能在其他地方破坏。

我想你知道performSelectorOnMainThread:withObject:waitUntilDone将一个方法从一个辅助线程调度到主线程。如果要加载笔尖,可以尝试在辅助线程中使用它。

编辑:

当工作线程正在检索数据时,预加载 nib怎么办,这样当工作线程完成时,主线程只需要显示 nib视图?