2012-02-29 48 views
0

我正在嘗試修改Mike Swans Core Data Expenses tutorial以獲得一列表,其中包含一列中的類別列表及其下一列中的餘額。通過與核心數據的關係求和列

我已經試過了第二列的值綁定:

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,並認爲它可能是我之後的答案,但如果是這樣的話我希望有人能夠更好地解釋它。我試着創建一個新的數組控制器,但我所嘗試過的所有東西似乎都讓我越來越深入到編程深淵。

編輯: - 我修復了一個單獨的問題,綁定到錯誤的控制器,並認爲我會重溫這個。上述兩種選項都可以對工作進行排序(列計數),但是當我嘗試添加新類別時,它們都會導致該異常。試圖刪除現有的類別會導致另一個異常(這我相信是第一的倒數):

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]; 
} 

...這似乎按預期方式工作。