2011-12-18 4 views
0

간단한 coreArrayController를 coreData 모델 중 하나에 연결했습니다. NSTableView에있는 모든 항목을 문제없이 쉽게 표시 할 수 있습니다. 그러나 NSTopColumn을 포함하는 NSTopColumn을 동일한 컨트롤러의 alignedObjects에 바인딩하려고하면 더러운 예외가 발생합니다. (그러나 테이블 밖에있는 NSPopupButton에 바인딩하면 모든 것이 올바르게 작동하는 것 같습니다.)여러 장소에서 NSArrayController 재사용하기

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

어떻게 여러 장소에서 어레이 컨트롤러를 재사용 할 수 없습니까?

오류 메시지의 내용과 다릅니다. 어떤 오류 메시지가 말한다 것은 당신이 값이 속성에 배열 속성을 결합하려고 배열되지 않는 것입니다 :

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

내가 배열로이를 치료하기 위해 노력했다 "의미 (그것을 count를 보내) 배열이 아니기 때문에 (따라서 count에 응답하지 않았습니다.) 문제가 있습니다. "

이미 바인딩 문제를 확인 했으므로 간단히 수정해야합니다. 보다 구체적인 조언을 원할 경우 질문을 편집하여 문제가되는 바인딩의 캡쳐 화면을 하나 이상 포함하고, 어떤 객체가 있는지, 어떤 바인딩인지, 어떤 객체에 바인딩했는지, 어떤 컨트롤러 키를 설정했는지 등을 표시해야합니다. , 그리고 어떤 모델 키 경로를 설정 했습니까?

관련 문제