iOS5 подробно UIViewController для UITableView я должен сбросить или перераспределить для каждой выбранной строки? - PullRequest
3 голосов
/ 12 ноября 2011

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

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

Для базовых данных UITableView я выделяю новый контроллер для каждой строки.

Стоит ли пытаться сбросить детальный контроллер UITableView, когда строки выбраны, или это плохая практика?

Обновление: В итоге я выделил контроллер для каждой выбранной строки таблицы. В контроллере я добавил 2 дополнительные кнопки с иконками быстрой перемотки вперед и назад. Это позволяет пользователю просматривать данные таблицы один за другим, просматривая все детали. Я обнаружил, что возвращаться к столу, чтобы выбрать одну строку за другой, слишком утомительно. Дополнительные кнопки сбрасывают контроллер для следующего / предыдущего события. Поскольку я использую только один контроллер, я не могу использовать Core Animation для выполнения перехода вида. Вместо этого я масштабирую кнопки на контроллере, чтобы показать, что что-то случилось с «ускоренной перемоткой вперед».

спасибо!

1 Ответ

1 голос
/ 13 ноября 2011

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

То, как я бы это сделал, было бы проверить, какая разница в памяти между открытием одного контроллера подробного представления и последующей реализацией 10, 20 или даже всех 100 контроллеров подробного просмотра.

Если объем памяти резко возрастает, я могу склониться к выполнению маршрута «Сброс подробного представления».

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

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