我的应用程序的主GUI有一个NSTableView,由它自己的控制器类控制。此类通过启动和解析进程的输出将数据加载到表中一次。这是在
中完成的-(void)awakeFromNib
控制器类的方法。该表在启动时显示,因此这意味着在显示GUI之前,应该完成流程输出的解析。
现在的问题是,当显示GUI时(我的应用程序启动很慢,这意味着已启动进程),该表有时是空的,或者有时会加载数据。这是随机的。 那么如何让表格在启动时始终加载数据?
reloadData
不起作用!我也使用[NSTask waitUntilExit];
答案 0 :(得分:1)
这就是我经常在窗口显示之前使应用程序“完全加载”的方式:
在Interface Builder中取消选中“启动时可见”窗口。然后在AppDelegate中创建IBOutlet NSWindow *window;
。最后,在AppDelegate中,实现applicationDidFinishLaunching:
方法并将[window makeKeyAndOrderFront:self];
添加到此方法中。
这应该有效,因为applicationDidFinishLaunching:
将始终在awakeFromNib
之后调用。