4

ここでは非常に単純な設定を行っていますが、Xcodeからコメントのない赤い「!」が表示されます。InterfaceBuilderでマークを付けます。

Coreデータベースのドキュメントテンプレートから開始しました。ドキュメントxibにはNSObjectControllerインスタンスがあり、その管理対象オブジェクトコンテキストはファイルの所有者(私のNSPersistentDocumentサブクラス)にバインドされています。NSTextFieldが存在し、その値をNSObjectControllerにバインドします...これが問題の原因です。

「モデルキーパス」に「title」と入力します。これは、NSManagedObjectの正しいプロパティであり、テキストフィールドに表示されるはずです。空の[コントローラーキー]フィールドをクリックすると、オートコンプリートによって、NSArrayController専用のフィールドが奇妙に提案されます。

奇妙なオートコンプリート候補のスクリーンショット

コントローラキーとして「content」と入力して(NSObjectControllerの正しいプロパティであるため)、Tab / Returnなどを押すと、次のように「content」がモデルキーパスにシフトダウンされます。

エラーのスクリーンショット

この赤い感嘆符は何のためのものですか?「コントローラーキー」を空のままにし、「モデルキーパス」をcontent.titleとして残すと、アプリは機能します。バインディングは正しく、NSManagedObjectの「title」プロパティを反映しています。「ObjectController」はNSObjectControllerのインスタンスであると確信しています。

4

1 に答える 1

7

「選択」を使用します。の場合NSObjectController、選択はコンテンツオブジェクトです。

于 2012-05-21T21:13:51.050 に答える