我在示例应用中有3个实体:
帐户
交易
余额
我想在NSTableView中显示特定帐户的交易。当我想显示当前帐户的余额时,问题出现了。由于交易可能与多个帐户相关联,因此可能有多个余额。我想不出一种方法来选择与NSTableColumn中显示的当前帐户相关联的特定余额。有没有人有任何关于如何更改模型或如何将内容连接到NSTableView的建议,以便显示正确的平衡?
我唯一能想到的是创建一个NSCell的子类,它知道如何选择与当前帐户视图相关的余额或者做类似事情的NSValueTransformer。这似乎是一个非常不优雅的解决方案。如果有更好的方式我想知道如何。
更新
以下是演示应用程序的屏幕截图,其中说明了上述内容。我希望最右边的列显示特定交易的余额。如果事务具有balance属性,则运行良好;但是,在我的应用程序中,余额存储在一个单独的表中,因为每个事务可能有多种类型的余额。我无法弄清楚如何让它在表格视图中显示正确的平衡:
答案 0 :(得分:0)
使用控制器密钥value
和模型密钥路径selection
将表列的balance
绑定绑定到帐户的数组控制器。
答案 1 :(得分:0)
您是否考虑通过此NSTableViewDataSource方法填充表格:
- (void)tableView:(NSTableView *)aTableView setObjectValue:(id)anObject forTableColumn:(NSTableColumn *)aTableColumn row:(NSInteger)rowIndex
我知道,它看起来很难看,但是你可以用它翻筋斗。