プログラムにnsopenpanelが閉じるのを待つにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/8369210

  •  27-10-2019
  •  | 
  •  

質問

タイトルの状態のように、私は自分のプログラムを待つ必要があります NSOpenPanel 閉じます。パネルを開いています windowControllerWillLoadNib ドキュメントウィンドウが開く前に発生するように。しかし、何が起こるかということは、パネルが閉じるのを待つことなく両方のウィンドウをロードするだけです。開いたパネルが閉じて完全に完成するまで、どうすれば待つことができますか?

役に立ちましたか?

解決

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

コード例:

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

他のヒント

開いたパネルをセットアップすると、次のようなことができます。

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

Runmodalは、パネルが閉じるまでプログラムの実行を停止します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top