iOS - двойной список
-
28-09-2019 - |
Вопрос
Я разрабатываю приложение IOS, и у меня некоторые проблемы, решающие, как подойти к проблеме.
Я использую два UiableViewControllers для отображения разных представлений одинаковых данных. Один - главный список, а другой содержит только предметы, которые помечены как «любимые». Также элементы являются переменными высотой, поэтому я использую «HealthforlowatindexPath», чтобы указать высоту для каждого элемента. Проблема - это скорость, когда я переключаю с одного представления на другую, его необходимо обновить, чтобы отобразить изменения, сделанные в другом (отмеченном избранном / безразличном).
Решение № 1:
Перезагрузите данные каждый раз, когда представление таблицы становится видимой. Это не работает красиво, потому что, хотя данные отображаются с использованием ленивой загрузки, «HeathforrowatindexPath» вызывается для каждого элемента, прежде чем какие-либо данные загружаются, и его медленно. На моем iPhone 4 список из списка около 300 наименований занимает около четырех секунд, даже если значения высоты кэшируются (узкое место наносит высоту, не извлечь его).
Решение № 2.:
Вручную манипулировать таблицами, когда внесены изменения. Я не пробовал это, но, вероятно, будет багги. Твои мысли?
Решение № 3:
Используя систему типа уведомлений, чтобы уведомить другую таблицу обновлений элементов, которые в настоящее время могут быть загружены. Я не пробовал это, потому что кажется сверху и вообще не работает.
Кто-нибудь знает легкий способ показать два взгляда на те же данные?
Нет правильного решения
Другие советы
Вы можете перезагрузить строки с ReloOveRowsatindexPaths: Washanimation. Я никогда этого не сделал, но я думаю, что это там, потому что это быстрее, так что вы можете попробовать это.
На невыполнении: штуката, я могу вспомнить чтение в документах Apple, что эта функция действительно является убийцей для производительности. Возможно, вы можете взять максимальную высоту строк и установить, что в UiableView.Rowheight?