Cocoa Mac应用程序,将NSTableColumn绑定到实体

时间:2014-02-03 21:31:53

标签: objective-c cocoa core-data nstableview cocoa-bindings

核心数据的Mac应用程序:
我有3个实体:
A< - >> B< - >。 C,C有一个BOOLEAN属性。

现在我想在2列表中显示A(第1列)的名称和基于C的布尔值的布尔值(第2列)。

例如:

A类对象(称为a)拥有B类中的3个对象(称为b1,b2,b3)。
这3个对象中的每一个都拥有C类中的1个对象(称为c1,c2,c3) 如果其中一个对象(c1,c2,c3)的布尔属性为TRUE,则第二列中的布尔值必须为真。

我尝试了类似的东西(使用自定义ArrayController类):

[NSTableColumn bind:@"value" toObject:self withKeyPath:@"arrangedObjects.b.c.@sum.boolValue" options:nil];

ArrayController self处于实体名称模式,实体名称为:A。

1 个答案:

答案 0 :(得分:1)

你确定@sum应该在c之后吗?每个右边有3个b类型的对象?所以,“b”是你案例中的集合。

来自KVC Guide

  

简单集合运算符

     

简单的集合运算符对右边的属性进行操作   数组或集合中的运算符。

  

@sum

     

@sum运算符返回属性值的总和   由操作员权限的关键路径指定。每个号码都是   转换为double,计算值的总和,并且   total被包装为NSNumber的一个实例并返回。

你试过了吗?

@"arrangedObjects.b.@sum.c.boolValue"