Вопрос

Я разрабатываю приложение IOS, и у меня некоторые проблемы, решающие, как подойти к проблеме.

Я использую два UiableViewControllers для отображения разных представлений одинаковых данных. Один - главный список, а другой содержит только предметы, которые помечены как «любимые». Также элементы являются переменными высотой, поэтому я использую «HealthforlowatindexPath», чтобы указать высоту для каждого элемента. Проблема - это скорость, когда я переключаю с одного представления на другую, его необходимо обновить, чтобы отобразить изменения, сделанные в другом (отмеченном избранном / безразличном).

Решение № 1:

Перезагрузите данные каждый раз, когда представление таблицы становится видимой. Это не работает красиво, потому что, хотя данные отображаются с использованием ленивой загрузки, «HeathforrowatindexPath» вызывается для каждого элемента, прежде чем какие-либо данные загружаются, и его медленно. На моем iPhone 4 список из списка около 300 наименований занимает около четырех секунд, даже если значения высоты кэшируются (узкое место наносит высоту, не извлечь его).

 

Решение № 2.:

Вручную манипулировать таблицами, когда внесены изменения. Я не пробовал это, но, вероятно, будет багги. Твои мысли?

 

Решение № 3:

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

Кто-нибудь знает легкий способ показать два взгляда на те же данные?

Нет правильного решения

Другие советы

Вы можете перезагрузить строки с ReloOveRowsatindexPaths: Washanimation. Я никогда этого не сделал, но я думаю, что это там, потому что это быстрее, так что вы можете попробовать это.

На невыполнении: штуката, я могу вспомнить чтение в документах Apple, что эта функция действительно является убийцей для производительности. Возможно, вы можете взять максимальную высоту строк и установить, что в UiableView.Rowheight?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top