У меня есть 3 объекта в примере приложения:
Аккаунт
- имя
- баланс (NSDecimalNumber общий баланс счета)
- сальдо (отношение ко многим с балансами)
- транзакции (отношение ко многим с Transaction.accounts)
транзакция
- получатель
- сумма
- счетов (отношения многие-ко-многим с Account.transactions)
- остатки (отношения многие-к-одному сBalances.transaction)
Баланс
- сумма
- счет (отношение один-ко-многим с Account.balances)
- транзакция (отношение один-ко-многим с Transaction.balances)
Я хочу отобразить транзакции определенного счета в NSTableView.Проблема возникает, когда я хочу отобразить баланс текущего счета.Поскольку транзакция может быть связана с несколькими учетными записями, она может иметь несколько балансов.Я не могу придумать способ выбрать конкретный баланс, связанный с текущим счетом, отображаемым в NSTableColumn.Кто-нибудь есть какие-либо предложения о том, как изменить модель или как подключить вещи к NSTableView таким образом, чтобы отображался правильный баланс?
Единственное, что я могу придумать, - это создать вспомогательныйкласс NSCell, который знает, как выбрать баланс, связанный с представлением текущей учетной записи, или NSValueTransformer, который делает аналогичную вещь.Это выглядит как очень не элегантное решение.Если есть лучший способ, я хотел бы знать, как.
Обновление
Вот скриншот демонстрационного приложения, которое иллюстрирует выше.Мне бы хотелось, чтобы в крайнем правом столбце отображался баланс по конкретной транзакции.Работает достаточно хорошо, если транзакция имеет атрибут баланса;однако в моем приложении баланс хранится в отдельной таблице, поскольку для каждой транзакции может быть несколько типов сальдо.Я не могу понять, как заставить его отображать правильный баланс в табличном представлении, хотя: