Повторное использование NSArrayController в нескольких местах - PullRequest
0 голосов
/ 19 декабря 2011

У меня есть простой NSArrayController, подключенный к одной из моих моделей coreData. Я легко могу показать все элементы в NSTableView без проблем, однако, если я попытаюсь связать NSTableColumn, содержащий NSPopUpButtonCell, с композицияObjects на том же контроллере, я получу неприятное исключение. (Однако, если я связываюсь с кнопкой 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

Почему это так? Почему вы не можете повторно использовать контроллер массива в нескольких местах?

1 Ответ

1 голос
/ 19 декабря 2011

Почему вы не можете повторно использовать контроллер массива в нескольких местах?

Это не то, что говорится в сообщении об ошибке.Сообщение об ошибке говорит о том, что вы пытались связать свойство массива со свойством, значение которого не является массивом:

2011-12-18 16:01:32.901 MyApp[6050:707] -[MyCoreDataModel count]: unrecognized selector sent to instance 0x10045aea0

Значение «Я пытался рассматривать это как массив (отправьте count), но это не был массив (и поэтому он не отвечал на count), и это проблема ».

Вы уже определили привязку проблемы, так что теперьвам просто нужно это исправить.Чтобы получить более конкретный совет, вам нужно отредактировать свой вопрос, включив в него хотя бы один снимок экрана с рассматриваемой привязкой, показывающий, на каком объекте она находится, какая это привязка, к какому объекту вы привязали, какой ключ контроллера вы задалии какой ключ модели вы указали.

...