2012-02-29 46 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]; 
} 

...这似乎按预期方式工作。