質問:
設計時またはビルド エラーなしでバインドが設定されているようですが、実行時に NSManagedObject (アカウント エンティティ) のインスタンスが見つかりません。私の設定ミスは何ですか?
構成:
これは基本的な導入プロジェクトです。XCodeを使用してほとんどのMVCアプリケーションを自動生成する「コードなし」ソリューションを手に入れました(iOS用ではありません)。Xcode は、NSManagedObjectContext と MainMenu.xib を使用して App Delegate を生成しました。xib に、NSObjectController、新しいエンティティを作成するためのボタン、および新しく作成されたエンティティのインスタンスの値を編集するための TextField を追加しました。データ モデルを作成し、XCode にエンティティの NSManagedObjects を生成させました。次に、バインディングを設定して MVC に接続するだけです。
概念的なバインディング フロー:
XIB のボタン-> XIB の NSObjectController 追加: -> AppDelegate の managedObjectContext
AppDelegate の managedObjectContext -> NSObjectController の selection.name -> XIB の TextField
ボタン設定
バインディング: 送信されたアクション = 追加: --> ObjectController
ObjectController の設定
属性: モード = エンティティ名、値 = アカウント、コンテンツの準備 = true、編集可能 = true
バインディング。パラメーター: App Delegate にバインド、コントローラー キー = null、モデル キー パス = managedObjectContext
テキストフィールドの設定
バインディング: バインド先 = オブジェクト コントローラー、コントローラー キー = 選択、モデル キー パス = 名前
問題:
設計時またはビルド中にエラーはなく、ランタイム エラー ログは以下のとおりです。ボタンをクリックする前に XIB をロードすると、エラーが発生します。ボタンをクリックした後、同じエラーが発生します。XIB が読み込まれると、TextField が null エンティティの列を取得しようとしていると推測されます。ボタンをクリックすると、作成されたインスタンスへのハンドルが TextField にないと推測されます。
エラーログ
2014-05-28 16:09:11.526 BingoAppServer[2060:303] Cannot perform operation since entity with name 'Account' cannot be found
2014-05-28 16:09:11.529 BingoAppServer[2060:303] (
0 CoreFoundation 0x00007fff933da25c __exceptionPreprocess + 172
1 libobjc.A.dylib 0x00007fff98919e75 objc_exception_throw + 43
2 CoreFoundation 0x00007fff933da10c +[NSException raise:format:] + 204
3 AppKit 0x00007fff97020658 -[_NSManagedProxy _entity] + 141
4 AppKit 0x00007fff97020515 -[_NSManagedProxy fetchRequestWithSortDescriptors:limit:] + 95
5 AppKit 0x00007fff972708fb -[NSObjectController(NSManagedController) _executeFetch:didCommitSuccessfully:actionSender:] + 73
6 AppKit 0x00007fff9744b846 _NSSendCommitEditingSelector + 267
7 AppKit 0x00007fff970f4f78 -[NSController _controllerEditor:didCommit:contextInfo:] + 182
8 CoreFoundation 0x00007fff932c5a5c __invoking___ + 140
9 CoreFoundation 0x00007fff932c58c4 -[NSInvocation invoke] + 308
10 CoreFoundation 0x00007fff93368516 -[NSInvocation invokeWithTarget:] + 54
11 Foundation 0x00007fff934decb7 __NSFireDelayedPerform + 333
12 CoreFoundation 0x00007fff93341494 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 20
13 CoreFoundation 0x00007fff93340fcf __CFRunLoopDoTimer + 1151
14 CoreFoundation 0x00007fff933b25aa __CFRunLoopDoTimers + 298
15 CoreFoundation 0x00007fff932fc755 __CFRunLoopRun + 1525
16 CoreFoundation 0x00007fff932fbf25 CFRunLoopRunSpecific + 309
17 HIToolbox 0x00007fff8c772a0d RunCurrentEventLoopInMode + 226
18 HIToolbox 0x00007fff8c7727b7 ReceiveNextEventCommon + 479
19 HIToolbox 0x00007fff8c7725bc _BlockUntilNextEventMatchingListInModeWithFilter + 65
20 AppKit 0x00007fff96cb326e _DPSNextEvent + 1434
21 AppKit 0x00007fff96cb28bb -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 122
22 AppKit 0x00007fff96ca69bc -[NSApplication run] + 553
23 AppKit 0x00007fff96c917a3 NSApplicationMain + 940
24 BingoAppServer 0x0000000100001252 main + 34
25 libdyld.dylib 0x00007fff915ec5fd start + 1
)