我试图修改Mike Swans Core Data Expenses tutorial,以便在一列中包含一个类别列表,并在下一列中显示其余额。
我尝试将第二列的值绑定到:
1. CategoryController.arrangedObjects.transactions.@sum.amount
2. CategoryController.arrangedObjects.@sum.transactions.@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 "transactions.@sum.amount" from <NSManagedObject 0x10303dda0> because it is not registered as an observer
答案 0 :(得分:1)
我不知道这是否对你有所帮助,但我刚遇到一个类似的问题,即将NSTextField绑定到我的一个字段(arrayController.arrangedObjects。@ sum.duration)的总和会引发异常,而绑定到arrayController.selection。@ sum.duration工作正常。
我最终把它放在代码中,比如:
// In my ViewController class.
- (void) awakeFromNib
{
[totalLabel bind:@"value" toObject:arrayController
withKeyPath:@"arrangedObjects.@sum.duration"
options:nil];
}
......它似乎按预期工作。