2011-08-13 27 views
0

我的應用程序的主要GUI有一個NSTableView,由它自己的控制器類控制。該類通過啓動和分析進程的輸出來將數據加載到表中。這是在NSTableView保證數據顯示

-(void)awakeFromNib 

控制器類的方法。該表在啓動時顯示,因此這意味着在顯示GUI之前,應該完成對過程輸出的分析。

現在的問題是,當顯示GUI(我的應用程序啓動速度慢,這意味着進程已啓動)時,表有時爲空或有時加載數據。這是隨機的。 那麼如何讓表始終加載數據?

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

+0

您能解釋一下如何通過綁定或委派向您的表提供數據嗎? –

+0

代表團 - 數據源 – yolo

回答

1

這是怎麼了,我經常做一個應用程序「完全載入」之前的窗口顯示:

取消選中您在Interface Builder窗口「啓動時可見」。然後在AppDelegate中創建一個IBOutlet NSWindow *window;。最後,在您的AppDelegate中,實施applicationDidFinishLaunching:方法並將[window makeKeyAndOrderFront:self];添加到此方法中。

這應該有效,因爲applicationDidFinishLaunching:將始終在awakeFromNib之後調用。

+0

不!!突然我重新測試我的應用程序,它不工作 - 仍然是一個空表隨機(我正在顯示窗口現在使用這種方法,確認) – yolo

+0

你確定makeKeyAndOrderFront是你在applicationDidFinishLaunching中做的最後一件事嗎?另外,如果你現在擺脫了makeKeyAndOrderFront,窗口是否停止顯示? (只是想確認一下,以防你在別的窗口顯示出來) – Enchilada

+0

窗口不會出現'makeKeyAndOrderFront',這是applicationDidFinishLaunching中唯一的事情 – yolo