少し奇妙な問題を除いて、うまく機能しているコアデータドキュメントベースのココアアプリがあります。
何らかの理由で、フィールドのいずれかに変更を加えた場合、メニュー/ウィンドウがそれを認識していないようです。赤い閉じるボタンは黒い「ダーティ」インジケータを取得せず、[ファイル/保存]メニュー項目は有効になっていません。ただし、(command-Qを使用して)アプリケーションを閉じようとすると、変更を保存するかどうかを尋ねるポップアップが表示されます。
ドキュメントのダーティフラグが設定されているようですが、ウィンドウ/メニュー項目がそれに反応していません。なぜそうなるのか、どこを見ればいいのか知りたいです。私のウィンドウがManagedObjectContextを知らないことに関係しているのではないかと思います...
わずかに異例の動作は、ドキュメントのmakeWindowControllersメソッドがオーバーライドされ、ドキュメントの[self addWindowController:xxx]メソッドの呼び出しを使用してウィンドウコントローラーを追加していることです。私のウィンドウコントローラーはNSWindowControllerからサブクラス化されているため、ManagedObjectContextを保持するために各ウィンドウコントローラーに独自のインスタンス変数を追加する必要がありましたが、これがウィンドウ/メニューに渡されていないようです。ここに通常のパターンが何であるかわからない...
とにかく、どんな考えでも大歓迎です。ありがとう