如何让我的窗口显示tableview,而不是让用户等待?
tableview是需要一段时间才能计算的相关数据,因此我希望立即显示带有进度指示器的窗口。我在“属性”检查器中选择了“在启动时可见”,但在计算数据完成之前窗口不会加载 - 大约20秒。
答案 0 :(得分:0)
不要在启动时立即加载tableView - 只需让tableView显示为空窗口。
稍后,在您的应用程序委托中:
- (void)applicationDidFinishLaunching:(NSNotification *)notification;
方法(或文档didLoad方法)触发加载数据。
答案 1 :(得分:0)
解决方案是使用以下命令在单独的线程上运行我的慢速计算方法:
[self performSelectorInBackground:@selector(analysizeAndSetDataForErrorWordList:) withObject:completeErrorWordList];
然而,在这个方法中,我需要在主线程上调用方法。我能够做到这一点:
[self performSelectorOnMainThread:@selector(addToErrorFoundArrayController:) withObject:thisData waitUntilDone:NO];
现在,带有数组控制器绑定tableView的窗口不再阻塞,而是在加载处理数据时显示。现在我的用户眼花缭乱而不是困惑。