2011-12-03 4 views
1

タイトルの状態と同様に、NSOpenPanelが閉じるまで私のプログラムを待たせる必要があります。私はwindowControllerWillLoadNibにパネルを開いているので、ドキュメントウィンドウが開く前に表示されます。しかし、何が起こるかは、パネルを閉じるのを待たずに両方のウィンドウをロードするだけです。オープンパネルが閉じて完全に終了するまで、どのように待つことができますか?NSOpenPanelを閉じるまで私のプログラムが待つようにするにはどうしたらいいですか?

答えて

2

runModalメソッドを使用します。

コード例:

int result; 
NSOpenPanel *oPanel = [NSOpenPanel openPanel]; 
result = [oPanel runModalForDirectory:NSHomeDirectory() file:nil types:nil]; 
if (result == NSOKButton) { 
//your code 
} 
1

が開いているパネルを設定して、あなたはこのような何かを行うことができます。パネルが閉じるまで

if ([openPanel runModal]==NSFileHandlingPanelOKButton) { 
    // get the urls 
    NSArray *fileURLs = [openPanel URLs]; 
} else { 
    // cancel button was clicked 
} 

runModalは、プログラムの実行を停止します。

関連する問題