У меня большой набор данных (около 3500 объектов), который возвращается с удаленного сервера по HTTP.В настоящее время данные представлены в NSCollectionView.Одним из аспектов данных является пакет путей к серверу для небольшого изображения, представляющего данные (представьте миниатюру для простоты).
Привязки работают фантастически для данных, которые уже возвращены, и связывают изображение черезПривязка valueurl легко сделать.Тем не менее, пользовательский интерфейс очень вялый при прокрутке набора данных - что заставляет меня думать, что NSCollectionView
извлекает все данные изображения, а не только данные изображения, используемые для отображения просматриваемых в настоящее время изображений.
У меня сложилось впечатление, что элементы управления Какао достаточно умны, чтобы извлекать данные только для той информации, которая фактически выводится в пользовательский интерфейс посредством отложенной загрузки.Это, конечно, похоже на случай с NSTableView
- но я мог бы ошибиться в этой мысли.
Должно ли привязывание valueurl действовать лениво и, более того, должно ли оно действовать лениво в NSCollectionView
?
Я мог бы создать механизм кэширования (на самом деле у меня уже есть такая вещь для другого приложения - см. Мой пост здесь, если вы заинтересованы Заполнение NSImage данными из асинхронного NSURLConnection ), но я действительно не понимаюЯ не хочу идти по этому пути, если мне не нужно это для конкретной реализации, поскольку пользователь потенциально может часто менять наборы данных и может захотеть только небольшие подмножества данных.
Любые предложенные подходы?
Спасибо!
Обновление
После еще одного тестирования кажется, что проблема возникает из-за действия прокрутки набора данных, при котором запрашивается каждое изображениес сервера.Как только все изображения были переданы в наборе данных, реакция очень быстрая.
Итак, вопрос ... есть ли способ отключить выборку значений во время прокрутки и включить ее снова, когда прокрутка закончится?