Size: a a a

iOS Developers — русскоговорящее сообщество

2019 November 28

VP

Vladyslav Pavelko in iOS Developers — русскоговорящее сообщество
показывает в теории доп. контент. Там будут отображены девайсы, так сказать.
источник

VP

Vladyslav Pavelko in iOS Developers — русскоговорящее сообщество
Руслан Лутфуллин
Вы лучше скажите, сколько у вас таких ячеек?
по идее неограниченное количество
источник

S

Sasha_A in iOS Developers — русскоговорящее сообщество
я про то объект модели данных должен помнить значение isSelected, и каждый раз при перерисовывании ячейки главного collection view - проставлять верное значение для всех ячеек
источник

S

Sasha_A in iOS Developers — русскоговорящее сообщество
Ни у кого нет глюка? С мака как-то некорректно работает таймер отправки сообщений. С телефона четко 10 сек, а на маке число не отображается и явно намного больше 10 сек
источник

S

Sasha_A in iOS Developers — русскоговорящее сообщество
Вот только что не мог ответить с мака, пришлось с телефона
источник

VP

Vladyslav Pavelko in iOS Developers — русскоговорящее сообщество
то есть вы имеете в виду, что обьект, отображающийся в каждой cell вложенного CV должен иметь свой параметр который можно асбтрагировать как isSelected?
Модель еще толком не делал, ибо там надо привязывать с теми вкладками вверху (еще одна коллекшн), пока что остановился на баге с переиспользованием.
источник

S

Sasha_A in iOS Developers — русскоговорящее сообщество
Vladyslav Pavelko
то есть вы имеете в виду, что обьект, отображающийся в каждой cell вложенного CV должен иметь свой параметр который можно асбтрагировать как isSelected?
Модель еще толком не делал, ибо там надо привязывать с теми вкладками вверху (еще одна коллекшн), пока что остановился на баге с переиспользованием.
да, и contentOffset тоже можно сохранять, если нет обратного требования
источник

VP

Vladyslav Pavelko in iOS Developers — русскоговорящее сообщество
Sasha_A
да, и contentOffset тоже можно сохранять, если нет обратного требования
Я понял, спасибо всем!
Надо будет поработать лучше с prepareForReuse.
источник

РЛ

Руслан Лутфуллин in iOS Developers — русскоговорящее сообщество
Да не баг это. Если iOS будет создавать на каждую ячейку новую коллекцию, то внезапно свободной памяти станет мало. Поэтому он хранит в пуле лишь определенное число ячеек, обычно число видимых ячеек + ещё 2. А для каждой последующей ячейки, сама ячейка берется из пула. То есть на месте новой может появиться ячейка, которая до этого стояла на другом месте.

Отсюда нужно сделать такой вывод. Ваша коллекция должа однозначно задаваться некоторыми входными параметрами, которые и определят её текущее состояние.
источник

VP

Vladyslav Pavelko in iOS Developers — русскоговорящее сообщество
Руслан Лутфуллин
Да не баг это. Если iOS будет создавать на каждую ячейку новую коллекцию, то внезапно свободной памяти станет мало. Поэтому он хранит в пуле лишь определенное число ячеек, обычно число видимых ячеек + ещё 2. А для каждой последующей ячейки, сама ячейка берется из пула. То есть на месте новой может появиться ячейка, которая до этого стояла на другом месте.

Отсюда нужно сделать такой вывод. Ваша коллекция должа однозначно задаваться некоторыми входными параметрами, которые и определят её текущее состояние.
Да, я имел в виду «баг» моей аппки)
источник

РЛ

Руслан Лутфуллин in iOS Developers — русскоговорящее сообщество
Руслан Лутфуллин
Да не баг это. Если iOS будет создавать на каждую ячейку новую коллекцию, то внезапно свободной памяти станет мало. Поэтому он хранит в пуле лишь определенное число ячеек, обычно число видимых ячеек + ещё 2. А для каждой последующей ячейки, сама ячейка берется из пула. То есть на месте новой может появиться ячейка, которая до этого стояла на другом месте.

Отсюда нужно сделать такой вывод. Ваша коллекция должа однозначно задаваться некоторыми входными параметрами, которые и определят её текущее состояние.
в том числе и её contentOffset
источник

SV

Sergey Vanichkin in iOS Developers — русскоговорящее сообщество
Vladyslav Pavelko
Да, я имел в виду «баг» моей аппки)
в каждой ячейке есть метод prepareForReuse вот в нем заресеть свою ячейку
источник

РЛ

Руслан Лутфуллин in iOS Developers — русскоговорящее сообщество
И вообще говоря ставить всегда contentOffset = 0 тоже не вариант.
Представим, я в одной из ваших ячеек проскроллил до середины. Потом скроллил ещё где-то и решил вернуться в то место, где я остановился на середине.
источник

РЛ

Руслан Лутфуллин in iOS Developers — русскоговорящее сообщество
А внезапно там уже не середина, а снова начало
источник

РЛ

Руслан Лутфуллин in iOS Developers — русскоговорящее сообщество
Каждый раз делать ресет при переиспользовании тоже не вариант.
источник

РЛ

Руслан Лутфуллин in iOS Developers — русскоговорящее сообщество
Вам нужно где-то хранить состояния коллекций
источник

РЛ

Руслан Лутфуллин in iOS Developers — русскоговорящее сообщество
и восстанавливать по  нужному indexPath
источник

РЛ

Руслан Лутфуллин in iOS Developers — русскоговорящее сообщество
То есть в просто случае, коллекция явно определяет своё состояние по двум вещам: данные и contentOffset
источник

РЛ

Руслан Лутфуллин in iOS Developers — русскоговорящее сообщество
Если вы пердадите два этих параметра для нужного indexPath
источник

РЛ

Руслан Лутфуллин in iOS Developers — русскоговорящее сообщество
вы восстановите исходное состояние
источник