NSArrayControllerを複数の場所で再利用する

私は単純なNSArrayControllerを私のcoreDataモデルの1つに接続しています。 NSTableViewのすべての項目を問題なく簡単に表示できますが、NSTopColumnを含むNSTableColumnを同じコントローラのalignedObjectsにバインドしようとすると、私は厄介な例外をスローします。 (ただし、テーブルの外にあるNSPopupButtonにバインドすると、すべてが正しく動作するように見えます)

Catchpoint 2 (throw)2011-12-18 16:00:07.251 MyApp[6050:707] -[MyCoreDataModel count]: unrecognized selector sent to instance 0x10045aea0

Catchpoint 2 (exception thrown).2011-12-18 16:01:32.901 MyApp[6050:707] -[MyCoreDataModel count]: unrecognized selector sent to instance 0x10045aea0
2011-12-18 16:01:32.907 MyApp[6050:707] (
    0   CoreFoundation                      0x00007fff9191e286 __exceptionPreprocess + 198
    1   libobjc.A.dylib                     0x00007fff93bd6d5e objc_exception_throw + 43
    2   CoreFoundation                      0x00007fff919aa4ce -[NSObject doesNotRecognizeSelector:] + 190
    3   CoreFoundation                      0x00007fff9190b133 ___forwarding___ + 371
    4   CoreFoundation                      0x00007fff9190af48 _CF_forwarding_prep_0 + 232
    5   AppKit                              0x00007fff8b5bbad3 -[_NSSelectionBinderPlugin populateObject:withContent:valueKey:objectKey:insertsNullPlaceholder:] + 235
    6   AppKit                              0x00007fff8b45242e -[NSSelectionBinder _adjustObject:mode:observedController:observedKeyPath:context:editableState:adjustState:] + 678
    7   AppKit                              0x00007fff8b56f11a -[NSValueBinder updateTableColumnDataCell:forDisplayAtIndex:] + 145
    8   AppKit                              0x00007fff8b5af502 -[_NSBindingAdaptor tableColumn:willDisplayCell:row:] + 112
    9   AppKit                              0x00007fff8b0a00b1 -[NSTableView _tryCellBasedMouseDown:atRow:column:withView:] + 498
    10  AppKit                              0x00007fff8b062a4c -[NSTableView mouseDown:] + 1072
    11  AppKit                              0x00007fff8afc90e0 -[NSWindow sendEvent:] + 6306
    12  AppKit                              0x00007fff8af6168f -[NSApplication sendEvent:] + 5593
    13  AppKit                              0x00007fff8aef7682 -[NSApplication run] + 555
    14  AppKit                              0x00007fff8b17680c NSApplicationMain + 867
    15  InstaLibrary                        0x0000000100001732 main + 34
    16  InstaLibrary                        0x0000000100001704 start + 52

これはなぜですか?どのように複数の場所でアレイコントローラを再利用できないのですか?

0

1 答え

どのように複数の場所でアレイコントローラを再利用できないのですか?

それはエラーメッセージが言うものではありません。エラーメッセージは、値が配列ではないプロパティに配列プロパティをバインドしようとしたことを示しています。

  2011-12-18 16:01:32.901 MyApp [6050:707]  -  [MyCoreDataModel count]:インスタンスに送信された認識できないセレクタ0x10045aea0
 

意味 "これを配列( count )として扱うことを試みましたが、配列ではなく( count に応答しません)、それは問題"。

あなたは既に問題のバインディングを特定しているので、修正する必要があります。より具体的なアドバイスをするには、問題のバインディングのスクリーンショットを少なくとも1つ含めるように質問を編集し、そのオブジェクトがどのオブジェクトであるか、どのバインディングであるか、どのオブジェクトにバインドしたか、どのコントローラキーを設定したか、およびどのモデルキーパスを設定しましたか。

1
追加された