2012-02-29 1 views
0

마이크 백파스 Core Data Expenses tutorial을 수정하려고합니다. 하나의 열에 카테고리 목록이 있고 다음 열에는 저울이있는 표가 있습니다. I가 두 번째 열의 값을 결합하려고했습니다핵심 데이터와의 관계를 통해 열 합계

:

1. [email protected] 
2. [email protected]@sum.amount 

수 2는 기존의 항목으로 간단히 작동 듯하지만 다시 작동시킬 수 없기 때문에 그것은 분명히 올바른 아니에요. 내가받는 메시지는

[<_NSFaultingMutableSet 0x100166b00> addObserver:forKeyPath:options:context:] is not supported. Key path: @sum.amount 

코드없이 가능해야합니까? 내가 선택한 카테고리에 대해 @sum을 레이블로 쉽게 가져올 수 있지만 전체 목록을 열로 가져올 수 없다는 것이 이상한 것 같습니다 ...

나는 this message on the developer list을 찾았습니다. 나는 누군가가 그것을 더 잘 설명 할 수 있기를 바랬다. 나는 새로운 어레이 컨트롤러를 만들려고했지만, 시도한 모든 것들이 프로그래밍 심연을 깊고 깊게 이끌어가는 것처럼 보였다.

EDIT : - 잘못된 컨트롤러에 대한 바인딩으로 별도의 문제가 해결되어 이에 대해 다시 생각해 보았습니다. 위의 두 가지 옵션 모두 일종의 작업 (열 집계)이지만 새로운 카테고리를 추가하려고하면 둘 다 예외가 발생합니다.

Cannot remove an observer <NSTableBinder 0x10017e5b0> for the key path "[email protected]" from <NSManagedObject 0x10303dda0> because it is not registered as an observer 

답변

0

이 당신을 도움이된다면 나도 몰라,하지만 난 그냥 이에 NSTextField있는에 바인딩 비슷한 문제가 발생했습니다 다른 예외 (나는 가정 최초의 역입니다) 기존 카테고리를 제거하는 원인 시도 내 필드 (arrayController.arrangedObjects. @ sum.duration) 중 하나의 합계가 예외를 던지지만 arrayController.selection. @ sum.duration에 대한 바인딩은 정상적으로 작동합니다.

내가 좋아하는 코드에 넣어 결국 :

// In my ViewController class. 
- (void) awakeFromNib 
{ 
    [totalLabel bind:@"value" toObject:arrayController 
     withKeyPath:@"[email protected]" 
      options:nil]; 
} 

... 그리고 예상대로 작동 것으로 보인다.