Как правильно загрузить TableViewCell - массив ячеек табличного представления или массив данных - PullRequest
1 голос
/ 06 января 2011

впереди не отвечайте, если вы точно не знаете, о чем говорите. Я хочу точное утверждение!

.

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

Теперь вопрос в том, когда использовать какой?

Я знаю, если я сохраню всю ячейку в массиве, она будет занимать больше памяти при запускевремя, но меньше вычислительного времени отображения ячеек (например, с помощью прокрутки).Когда пользователь прокручивает, он берет только сохраненную ячейку и отображает ее.В противном случае приложение получит значения и начнет генерировать (alloc-init) ячейку (или выберет одну из пула повторного использования) и присвоит значения меткам и / или изображениям.
Теперь есть разница между количество ячеек , тип ячеек (например, пользовательские ячейки из пера) и количество , сколько разных типов находятся в одном и том же tableView.

В моем приложении у меня есть tableView, который отображает 7-8 ячеек (почти статических), один с imageView по всей ячейке.Но все они являются пользовательскими ячейками с двумя метками и одной imageView, упомянутой выше.Я получаю каждую секунду новые данные и должен перезагрузить весь табличный вид, что означает создание нового tableView-массива с новыми значениями.

// РЕДАКТИРОВАТЬ: чтобы убедиться, что это не вопрос, чтоЯ должен сделать в своем приложении, это должен быть общий вопрос, когда использовать .

Я думаю, что оба варианта возможны, но каков был бы правильный путь?
Где ограничения или должныЯ когда-нибудь хранил целые ячейки?
Любая документация Apple, которая гласит: "Никогда не используйте целые ячейки для хранения"?
Каковы недостатки?

1 Ответ

2 голосов
/ 06 января 2011

Разница только в ячейках, которые находятся вне экрана. Если вы храните полный список ячеек в массиве, вы используете память для каждой ячейки, даже если они не видны. Сохраняя только данные, только ячейки, которые в данный момент видны, будут занимать память.

Учитывая, что вы отображаете только 7-8 ячеек, я не думаю, что у вас возникнут какие-либо проблемы с сохранением массива целых ячеек, если это не очень большие таблицы. (Экономия памяти, очевидно, гораздо важнее, когда у вас сотни или тысячи ячеек.)

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