プログラムにnsopenpanelが閉じるのを待つにはどうすればよいですか?
-
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は、パネルが閉じるまでプログラムの実行を停止します。
所属していません StackOverflow