Как управлять памятью в компонентах прокрутки? - PullRequest
0 голосов
/ 27 октября 2011

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

1 Ответ

0 голосов
/ 30 октября 2011

Мне было проще создавать собственные пользовательские классы макетов, которые создают макеты только для моих представлений и не навязывают сложный протокол, такой как NSTableViewDataSource и тому подобное, который затрудняет программирование анимации. Мне нравится всегда точно знать, где находятся мои представления, полная иерархия каждого представления, и я не люблю синхронизировать модель с моими представлениями, чтобы хранить данные о самих представлениях. На мой взгляд, объекты на экране - это единственные объекты, которые я люблю создавать как программист. Я хочу прямого декларативного контроля над ними, вроде игрового программиста. Подклассифицируя представление прокрутки напрямую и следуя очень простым правилам макета вне обычных методов layoutSubviews Какао, чтобы избежать неожиданных макетов, я смог лучше контролировать свои анимации и делать более сложные и плавные анимации. Надеюсь, что это вдохновит кого-то на то же.

...