警告ダイアログをシートとして実行しています。問題は、シートが回答を得たときにのみプログラムの実行を継続したいということです。そこで、Apple からデフォルトのモーダル コードを追加しました。
NSModalSession session = [NSApp beginModalSessionForWindow:aWindow];
for (;;)
if ([NSApp runModalSession:session] != NSRunContinuesResponse)
break;
[NSApp endModalSession:session];
これにより、コードが非常にきれいになりましたが、問題が 1 つあります。これを行うと、シートがメニュー バーの前に表示されなくなります (NSStatusWindowLevel
その効果を得るために使用していました)。
これに対する解決策はありますか?did-end-selector はコードを非常に乱雑にするため、避けたいと思います。ありがとう!