私のメイン アプリケーション ( MyApp) では、ウィンドウ コントローラー ( ) の新しいインスタンスを作成することにより、プログラムで他のウィンドウを作成しますMyWindowController。ウィンドウ コントローラが初期化されると、 を呼び出して nib ファイルからウィンドウと他のビュー/オブジェクトをロードします[self.window makeKeyWindow]。awakeFromNibこれらのオブジェクトの 1 つのメソッド ( )MyModelには、(名前解決が原因で) 失敗する可能性のあるコードがいくつかあります。ユーザーにエラーを表示し、ウィンドウ コントローラー、ウィンドウ、およびすべての関連オブジェクトを破棄したいと考えています。 .
要約すれば:
- アプリケーションは の新しいインスタンスを作成します
MyWindowController。 MyWindowControllerを呼び出して、nib ファイルからウィンドウと他のビュー/オブジェクトをロードします[self.window makeKeyWindow]。awakeFromNibこれらのオブジェクトの 1 つ ( のインスタンス)MyModelでエラーが発生しました (名前解決による)。- ユーザーにエラー メッセージが表示され、
MyWindowController、MyModel、および関連する他のすべてのインスタンスが破棄されます。
最もココア風の方法でステップ 4 を達成するにはどうすればよいでしょうか?
明確にするために、を使用してユーザーにエラーを表示する方法を知っていますNSError。でエラーを処理するための推奨/正しい方法が、エラーawakeFromNibを表示して 内からすべてを解放することでawakeOnNibあるか、それともより良い方法があるか (アプリの再構築が必要になる場合があります) を調べようとしています。