Как подключить табличное представление к источнику сортируемых данных - PullRequest
0 голосов
/ 13 мая 2009

У меня есть контроллер табличного представления, отображающий список сообщений. Я хочу, чтобы пользователь мог выбирать различные варианты сортировки для своих сообщений. Некоторые возможные варианты сортировки могут быть самыми последними, читать / не читать, по отправителю и т. Д.

В своих мыслях я спорю о том, как правильно управлять базовым списком Сообщений. Вот мой текущий план:

У меня есть объект модели MessageList. Я добавлю свойство sortedBy , чтобы любой контроллер мог проверить текущий метод сортировки и прибегнуть к списку, если это необходимо. MessageList должен отвечать за правильную вставку новых сообщений в зависимости от выбранного метода сортировки.

Мне нравится этот подход, потому что мне не нужно делать отсортированную копию MessageList. Он также упрощает работу контроллера (indexPath.row == indexOfMessageInList).

Кто-нибудь был в подобной ситуации и нашел лучший подход?

1 Ответ

0 голосов
/ 13 мая 2009

План кажется довольно солидным, я хотел бы реализовать собственный установщик для sortedBy и всякий раз, когда он вызывается, вызывать [tableView reloadData] всякий раз, когда происходит реальное изменение. Как то так:

- (void) setSortedBy:(SEL)someSortMethod {
  # check if the sort method is new or not
  # perform operations on list to sort it
  sortedBy = someSortMethod;

  [self.tableView reloadData];
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...