NSTableView保证数据显示

时间:2011-08-13 11:32:16

标签: cocoa process nstableview

我的应用程序的主GUI有一个NSTableView,由它自己的控制器类控制。此类通过启动和解析进程的输出将数据加载到表中一次。这是在

中完成的
-(void)awakeFromNib

控制器类的方法。该表在启动时显示,因此这意味着在显示GUI之前,应该完成流程输出的解析。

现在的问题是,当显示GUI时(我的应用程序启动很慢,这意味着已启动进程),该表有时是空的,或者有时会加载数据。这是随机的。 那么如何让表格在启动时始终加载数据?

reloadData不起作用!我也使用[NSTask waitUntilExit];

1 个答案:

答案 0 :(得分:1)

这就是我经常在窗口显示之前使应用程序“完全加载”的方式:

在Interface Builder中取消选中“启动时可见”窗口。然后在AppDelegate中创建IBOutlet NSWindow *window;。最后,在AppDelegate中,实现applicationDidFinishLaunching:方法并将[window makeKeyAndOrderFront:self];添加到此方法中。

这应该有效,因为applicationDidFinishLaunching:将始终在awakeFromNib之后调用。