私が取り組んでいるMacアプリケーションの一部として、ユーザーは画面に入力して「処理」ボタンを押します。実行された編集があり、すべてが編集に合格すると、数分のプロセスが実行され、正常に終了するかどうかが決まります。そのプロセスで一連のステータスと処理メッセージを別のスクロールウィンドウに吐き出し、問題が発生した場合にユーザーがログに戻って何かが表示されるかどうかを確認できるようにしたいと思います。
このタイプの処理を確認して使用するのに最適なオブジェクトとメソッドは何ですか?
2011年11月24日追加
最初の提案に従って、2番目のXIBを作成し、それに合わせてNSWindowControllerを作成し、準備作業としてすべてをまとめました。アプリデリゲートでボタンを押すと、次のようになります。
- (IBAction)runButtonPressed:(id)sender {
RunResultWindow *wc;
wc = [[RunResultWindow alloc] initWithWindowNibName:@"RunResultWindow"];
[wc showWindow:self];
}
RunResultWindowは、XIBとそれを制御するNSWindowControllerクラスの名前です。また、終了ボタンを追加し、プロセスの結果がテキストウィンドウに表示されるように配線し、ユーザーが[完了]または[終了]を押すか、ボタンを呼び出すまでそこにハングアップします。
メインウィンドウのボタンを押すと実際にはウィンドウが表示されますが、ボタンのコードが終了するとウィンドウが消えます。明らかに、私は(重要な)ステップを省略しています。
ウィンドウが表示されたら、テキストビューなどを追加して機能させることができます。私が欲しいのは、ユーザーが「完了」ボタンを押すと、新しいウィンドウにフォーカスが移り、閉じられるようにすることです。
さらに、windowメソッドからウィンドウコントローラーのウィンドウを取得し(アドレスを返しました)、NSWindowControllerのwindowDidLoadメソッドでいくつかのウィンドウフォーカスメソッドを試しましたが、ダイスはありませんでした。
私がこれについて得ることができるどんな情報にも再び感謝します。
2011年11月25日追加
ええと。たぶん、ボタンメソッドに埋め込むのではなく、クラスインスタンスをivarにすると、機能します。LeOops。