【问题标题】:displaying balance in core data在核心数据中显示平衡
【发布时间】: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


【解决方案1】:

您是否考虑过通过这个 NSTableViewDataSource 方法填充表格:

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

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

【讨论】:

  • 不敢相信我没有想到这一点。这有点难看,因为我没有获得 NSArrayController 的所有好功能,但它可以工作;)
【解决方案2】:

使用控制器键 selection 和模型键路径 balance 将表列的 value 绑定绑定到您的 Accounts 数组控制器。

【讨论】:

  • 只显示整个账户的余额,我想显示每笔交易的余额。
  • @Cayden:嗯?也许您应该编辑您的问题以包含您的 UI 屏幕截图。
  • 添加了截图。希望我想要做的更清楚一点,就像一个检查寄存器。不幸的是,每笔交易都可以参与多个账户,因此有多个余额......只是无法弄清楚如何显示正在查看的账户的余额。
猜你喜欢
  • 1970-01-01
  • 2017-10-18
  • 1970-01-01
  • 1970-01-01
  • 2018-12-31
  • 1970-01-01
  • 1970-01-01
  • 2017-03-26
  • 1970-01-01
相关资源
最近更新 更多