отображение баланса в основных данных - PullRequest
0 голосов
/ 04 марта 2011

У меня есть 3 объекта в примере приложения:

Аккаунт

  • имя
  • баланс (NSDecimalNumber общий баланс счета)
  • сальдо (отношение ко многим с балансами)
  • транзакции (отношение ко многим с Transaction.accounts)

транзакция

  • получатель
  • сумма
  • счетов (отношения многие-ко-многим с Account.transactions)
  • остатки (отношения многие-к-одному сBalances.transaction)

Баланс

  • сумма
  • счет (отношение один-ко-многим с Account.balances)
  • транзакция (отношение один-ко-многим с Transaction.balances)

Я хочу отобразить транзакции определенного счета в NSTableView.Проблема возникает, когда я хочу отобразить баланс текущего счета.Поскольку транзакция может быть связана с несколькими учетными записями, она может иметь несколько балансов.Я не могу придумать способ выбрать конкретный баланс, связанный с текущим счетом, отображаемым в NSTableColumn.Кто-нибудь есть какие-либо предложения о том, как изменить модель или как подключить вещи к NSTableView таким образом, чтобы отображался правильный баланс?

Единственное, что я могу придумать, - это создать вспомогательныйкласс NSCell, который знает, как выбрать баланс, связанный с представлением текущей учетной записи, или NSValueTransformer, который делает аналогичную вещь.Это выглядит как очень не элегантное решение.Если есть лучший способ, я хотел бы знать, как.

Обновление

Вот скриншот демонстрационного приложения, которое иллюстрирует выше.Мне бы хотелось, чтобы в крайнем правом столбце отображался баланс по конкретной транзакции.Работает достаточно хорошо, если транзакция имеет атрибут баланса;однако в моем приложении баланс хранится в отдельной таблице, поскольку для каждой транзакции может быть несколько типов сальдо.Я не могу понять, как заставить его отображать правильный баланс в табличном представлении, хотя:

screenshot of potential app

Ответы [ 2 ]

0 голосов
/ 05 марта 2011

Рассматривали ли вы заполнение таблицы с помощью этого метода NSTableViewDataSource:

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

Я знаю, это выглядит некрасиво, но вы можете сделать сальто с ним.

0 голосов
/ 04 марта 2011

Свяжите привязку value столбца таблицы к контроллеру учетных записей массива с помощью ключа контроллера selection и пути к ключу модели balance.

...