Cocoa 显示核心数据中的平衡

Cocoa 显示核心数据中的平衡,cocoa,core-data,nstableview,key-value-coding,Cocoa,Core Data,Nstableview,Key Value Coding,我在示例应用程序中有3个实体: 账户 名字 余额(账户总余额的小数) 余额(与余额的多个关系) 交易(与Transaction.accounts的多对多关系) 交易 受款人 数量 账户(与Account.transactions的多对多关系) 余额(与余额的多对一关系。交易) 平衡 数量 账户(与账户余额的一对多关系) 交易(与交易余额的一对多关系) 我想在NSTableView中显示特定帐户的交易记录。当我想显示经常账户的余额时,问题就出现了。因为一个交易可能与多个账户关联,所以它

我在示例应用程序中有3个实体:

账户

  • 名字
  • 余额(账户总余额的小数)
  • 余额(与余额的多个关系)
  • 交易(与Transaction.accounts的多对多关系)
交易

  • 受款人
  • 数量
  • 账户(与Account.transactions的多对多关系)
  • 余额(与余额的多对一关系。交易)
平衡

  • 数量
  • 账户(与账户余额的一对多关系)
  • 交易(与交易余额的一对多关系)
我想在NSTableView中显示特定帐户的交易记录。当我想显示经常账户的余额时,问题就出现了。因为一个交易可能与多个账户关联,所以它可能有多个余额。我想不出一种方法来选择与NSTable列中显示的往来账户相关联的特定余额。是否有人对如何更改模型或如何以显示适当平衡的方式将事物连接到NSTableView有任何建议

我能想到的唯一一件事是创建一个子类NSCell,它知道如何选择与当前帐户视图关联的余额,或者创建一个NSValueTransformer来执行类似的操作。不过,这似乎是一个非常不雅观的解决方案。如果有更好的方法,我想知道怎么做

更新

下面是演示应用程序的屏幕截图,演示了上述内容。我希望最右边的一栏显示该特定交易的余额。如果事务具有“余额”属性,则运行良好;但是,在我的应用程序中,余额存储在单独的表中,因为每笔交易可能有多种类型的余额。我不知道如何让它在表视图中显示适当的平衡:


使用控制器键
选择和模型键路径
余额将表列的
绑定到帐户的数组控制器
是否考虑过通过此NSTableViewDataSource方法填充表:

- (void)tableView:(NSTableView *)aTableView setObjectValue:(id)anObject forTableColumn:(NSTableColumn *)aTableColumn row:(NSInteger)rowIndex

我知道,它看起来很难看,但你可以用它翻筋斗。

那只会显示整个账户的余额,我想显示每笔交易的余额。@Cayden:嗯?也许你应该编辑你的问题,包括你的用户界面截图。添加一个截图。希望我想做的更清楚一点,就像支票登记簿一样。不幸的是,每笔交易都可以参与多个账户,因此存在多个余额。。。只是不知道如何显示正在查看的帐户的余额。因此余额列将显示交易减少/增加的所选帐户的余额?真不敢相信我没有想到这一点。这有点难看,因为我没有获得NSArrayController的所有优秀功能,但它可以工作;)