цель-c программно изменяет табличное представление от стандарта до сгруппированного?

Следующая ситуация принадлежит приложению для iPad, я продолжаю работать для своей компании.

Таким образом, у меня есть массив типа "Человек", который содержит информацию списка людей. На начальной странице у меня есть таблица, которая отображает их имя и изображение. Когда это загружается, результаты разгруппировываются. Я задавался вопросом, был ли способ легко сгруппировать эти результаты щелчком кнопки на основе чего-то как местоположение или бизнес-заголовок. Причина они не сгруппированы, когда они загружаются, состоит в том, потому что полномочия выше затем я считал необходимым отобразить необработанный список сначала. Какие-либо идеи сделать что-то как этот?Заранее спасибо!

1
задан gabaum10 13 August 2010 в 15:18
поделиться

2 ответа

Вы захотите использовать «разделы» для разделения таблицы.

Сначала вам нужно отсортировать источник данных по нужным группам, а затем отразить его в представлении.

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

Когда данные разгруппированы, вы все равно можете использовать словарь, но с одной записью, а не с несколькими, а затем отразить это в пользовательском интерфейсе.

Таким образом, когда вас спросят, сколько разделов в таблице, вы можете вернуть [количество словарей]; , а затем, когда вас спросят количество строк, вы можете сделать что-то вроде [[словарь objectForKey @ "myKey"] count];

И так далее.

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

1
ответ дан 2 September 2019 в 22:10
поделиться

Вам придется удалить UITableView и добавить на его место другой через [[UITableViewController alloc] initWithStyle: UITableViewStyleGrouped]; . Вы не можете изменить существующий стиль во время выполнения.

Другой способ сделать это - сгруппировать его с самого начала, но вернуть 1 для - (NSInteger) numberOfSectionsInTableView: (UITableView *) tableView; , если он «разгруппирован», и вернуть все строки для - (NSInteger) tableView: (UITableView *) номер таблицыOfRowsInSection: (NSInteger) section , когда он сгруппирован, сделайте это обычным способом.

1
ответ дан 2 September 2019 в 22:10
поделиться