2013-10-10 4 views
2

Как бы перезагрузить новые данные, скажем, массив имен (строк), без повторной инициализации коллекции с данными?Обновить вид коллекции с новыми данными

Я знаю о [uiCollectionView reloadData], но я хотел изменить массив информации, связанной с представлением коллекции.

+0

Измените данные, затем наберите 'reloadData'? –

+0

Я инициализировал данные. Как это изменить? – Shawn

+0

Добавить элементы в связанные коллекции или удалить их? –

ответ

2

reloadData приводит к тому, что коллекционное представление задает его dataSource о том, что он теперь содержит. Независимо от того, что использует dataSource, это ваши исходные данные просмотра коллекции. Если вы измените эти данные, вам необходимо позвонить reloadData для получения вашего пользовательского интерфейса. Вы можете изменить данные, но вы хотите (например, добавлять/удалять элементы из массива или создавать совершенно новый массив).

Вы никогда не инициализируете представление коллекции данными. Вы инициализируете его с помощью delegate и dataSource. Таким образом, вы не повторно инициализируете его. Вы просто меняете данные, которые dataSource предоставляет для коллекции.

+0

Итак, когда вы вызываете initWithObjects, вы фактически не инициализируетесь объектами? – Shawn

+0

Ну, лучше вопрос, как мне тогда перейти на изменение dataSource на лету? – Shawn

+0

Это не вид коллекции, который вы создаете с помощью 'initWithObjects'. Почему бы вам изменить «dataSource» (я имею в виду, вы можете просто установить новый, но почему)? – Wain

Смежные вопросы