【发布时间】:2011-03-04 03:32:06
【问题描述】:
我在示例应用中有 3 个实体:
帐户
- 姓名
- 余额(NSDecimalNumber 账户总余额)
- 余额(与余额的一对多关系)
- 交易(与 Transaction.accounts 的多对多关系)
交易
- 收款人
- 金额
- 帐户(与 Account.transactions 的多对多关系)
- 余额(与 Balances.transaction 的多对一关系)
平衡
- 金额
- account(与 Account.balances 的一对多关系)
- 事务(与 Transaction.balances 的一对多关系)
我想在 NSTableView 中显示特定帐户的交易。当我想显示当前帐户的余额时,问题就来了。因为一笔交易可能与多个账户相关联,它可能有多个余额。我想不出一种方法来选择与在 NSTableColumn 中显示的当前帐户关联的特定余额。有没有人对如何更改模型或如何以显示适当平衡的方式将事物连接到 NSTableView 有任何建议?
我唯一能想到的就是创建一个 NSCell 的子类,它知道如何选择与当前帐户视图关联的余额,或者创建一个执行类似操作的 NSValueTransformer。不过,这似乎是一个非常不雅的解决方案。如果有更好的方法我想知道。
更新
这是演示上述内容的演示应用的屏幕截图。我希望最右边的列显示该特定交易的余额。如果交易具有余额属性,则效果很好;但是,在我的应用程序中,余额存储在单独的表中,因为每笔交易可能有多种类型的余额。我不知道如何让它在表格视图中显示适当的平衡:
【问题讨论】:
-
那么Balance栏是显示所选账户的余额为减少/增加的交易?
标签: cocoa core-data nstableview key-value-coding