Добавление большего количества записей в табличное представление - PullRequest
0 голосов
/ 01 февраля 2012

Я добавил tableview с 10 записями. Последний ряд - это ячейка load more records. В appStore, когда вы ищете приложение, и если есть еще приложения, которые будут отображаться, тогда в последнем ряду написано load more records (или что-то подобное).

Теперь, если у меня есть 10 записей, и если 11-я ячейка говорит, что нужно загружать больше записей, как мне запрограммировать ее на отображение 5 больше записей, когда пользователь нажимает на последнюю строку.

Мои записи 10 хранятся в массиве, поэтому можно ли добавить в массив 5 больше записей, не меняя их порядок?

Или мне нужно загрузить весь массив с 15 записями, а затем отобразить его в tableview? (Я не думаю, что это лучший подход)

Надеюсь, я прояснил свой вопрос.

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

Ответы [ 2 ]

3 голосов
/ 01 февраля 2012

Позвольте мне дать простое объяснение того, как таблицы работают в iOS.Каждая таблица имеет 2 основных компонента: отображаемые данные и представление (отображение) таблицы.Данные являются источником информации таблицы.В качестве источника данных вашей таблицы может использоваться любой тип источника данных (статическая информация, например NSString, массивы, изменяемые массивы, словари ...).Точный тип вашего источника данных зависит от самого приложения.

Эти данные должны просматриваться пользователем, и это роль UITableView.Код, который отвечает за загрузку данных в представление, всегда находится внутри функции tableView:cellForRowAtIndexPath:.В этой функции вы выполняете загрузку и также указываете некоторые свойства представления, такие как тип ячеек, стиль таблицы ...

Теперь загрузка выполняется точно в том же порядке источника данных (если вы не укажетепо-другому).Поэтому, если ваши данные находятся в массиве, первый элемент массива будет в первой ячейке таблицы и т. Д.

Теперь, чтобы ответить на первую часть вашего вопроса, какой тип должен использовать ваш источник данныхбыть?Поскольку вы будете периодически добавлять данные в свои данные, вам наверняка понадобится тип mutable .Это может быть NSMutableArray или NSMutableDictionary.Используйте массивы, когда источником информации является только один элемент, например, вы добавляете только имена игроков, и используйте словари, когда в вашей информации содержится более одного элемента на ячейку, например, имя игрока, возраст игрока, количество игроков (и, скажем, выготовы отображать всю эту информацию в ячейке, также помните, что вы можете настроить вид ячейки и сделать пользовательские ячейки).Ну, а почему изменяемые типы?Потому что они позволяют добавлять удаленные элементы к ним.Как добавить и где они сидят?Обычно изменяемые типы имеют addObject, который используется для добавления, а новый элемент всегда добавляется в конец массива.

Надеюсь, это объяснение поможет вам понять, как все работает, и вы сможете представить, какие решения вам нужны.чтобы решить вашу проблему.

Чтобы таблица могла заметить изменение источника данных, вам всегда нужно вызывать:

[myTableView reloadData];

Повторные данные заставят функцию tableView:cellForRowAtIndexPath: бытьвызывается снова и перезагружает все данные, найденные в вашем источнике данных, и точно в том порядке, в котором они находятся в этом источнике данных.

0 голосов
/ 01 февраля 2012

Просто добавьте новые записи в массив, как это

[array addObject:record];

, и записанные будут добавлены в конец массива.Используйте

[tableview reloadData];

, чтобы сообщить вашему табличному представлению, что новые данные доступны для отображения.

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