ここでは非常に単純な設定を行っていますが、Xcodeからコメントのない赤い「!」が表示されます。InterfaceBuilderでマークを付けます。
Coreデータベースのドキュメントテンプレートから開始しました。ドキュメントxibにはNSObjectControllerインスタンスがあり、その管理対象オブジェクトコンテキストはファイルの所有者(私のNSPersistentDocumentサブクラス)にバインドされています。NSTextFieldが存在し、その値をNSObjectControllerにバインドします...これが問題の原因です。
「モデルキーパス」に「title」と入力します。これは、NSManagedObjectの正しいプロパティであり、テキストフィールドに表示されるはずです。空の[コントローラーキー]フィールドをクリックすると、オートコンプリートによって、NSArrayController専用のフィールドが奇妙に提案されます。
コントローラキーとして「content」と入力して(NSObjectControllerの正しいプロパティであるため)、Tab / Returnなどを押すと、次のように「content」がモデルキーパスにシフトダウンされます。
この赤い感嘆符は何のためのものですか?「コントローラーキー」を空のままにし、「モデルキーパス」をcontent.titleとして残すと、アプリは機能します。バインディングは正しく、NSManagedObjectの「title」プロパティを反映しています。「ObjectController」はNSObjectControllerのインスタンスであると確信しています。