#iphone #objective-c #ipad #uitableview
#iPhone #objective-c #iPad #uitableview
Вопрос:
У меня есть массив записей, размер которых может составлять 100000 или более. Я хочу показать это в алфавитном порядке (в котором пользователь может легко перейти к алфавиту), каков наилучший способ сделать это? Создание TableView со 100000 записями, я думаю, не будет хорошей идеей.. Ищу несколько предложений для этого.
Ответ №1:
Я не уверен, что есть хороший способ представить 100 000 записей на iPhone или iPad. Я думаю, вопрос, который я бы задал, заключается в том, действительно ли пользователю нужен доступ к такому объему данных за один раз на устройствах такого типа?
Если нет, то, я думаю, вы могли бы решить эту проблему либо с помощью некоторых фильтров (чтобы ограничить результаты в разбитой на страницы таблице), либо с помощью приличного алгоритма поиска.
Приветствия!
Комментарии:
1. Я думал о подкачке UITableView.. точно так же, как в App Store.. интересно, как это сделать
Ответ №2:
Вы можете сделать это с помощью табличного представления.Для удобства пользователей вы можете добавить список альфа-бейтов в табличном представлении в виде кнопок, и в зависимости от выбора пользователя могут отображаться соответствующие результаты поиска.
Ответ №3:
Я бы представил эти данные в виде таблицы, но я бы попытался каким-то образом заставить пользователя фильтровать 100 000 сообщений, чтобы ни на каком этапе у вас не было 100 000 сообщений, загруженных в TableView.
Ответ №4:
Я предлагаю вам сначала подумать о том, чтобы немного урезать свой массив записей, возможно, до тех пор, пока у вас не останется не более нескольких сотен. Таким образом, ваш процесс сортировки будет быстрее, и тогда вы сможете загружать их уже отсортированными в представлении. Таким образом, пользователь фактически потратит время на просмотр списка.
Честно говоря, даже если вы загрузите эти сто тысяч или больше в отсортированном виде, в алфавите будет всего 26 букв, и на каждую букву будет отображаться около 3800 сообщений, при условии, что ваши сообщения распределены равномерно, на что опять же ваши пользователи не будут тратить время на просмотр.