willDisplaycell и cellForItemAt в представлении коллекции имеют разные значения

Я получил данные в виде массива с сервера в viewDidLoad, хочу показать их в collectionView в соответствии с его indexPath .

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

Предположим, что массив данных равен 3. В первый раз он показывает правильный массив данных, но после события нажатия кнопки вместо вызова метода cellForRowAt один раз он вызывается 2 раза, но в методе willDisplayCell он запускается только один раз. из-за чего значения willDisplay и cellForRawAt отличаются.

Это происходит при прокрутке collectionView

я исключаю поток collectionView as

cellForItemAt Необязательный («значение индекса массива 1») willDisplay Необязательный («значение индекса массива 1») UIDisplay 1 индекса массива

cellForItemAt Необязательный («значение индекса массива 2») willDisplay Необязательный («значение индекса массива 2») UIDisplay из 3 индексов массива

cellForItemAt Необязательный («значение индекса массива 3») willDisplay Необязательный («значение индекса массива 3») UIDisplay из 3 индексов массива

но я понимаю

cellForItemAt Необязательный («значение индекса массива 1») willDisplay Необязательный («значение индекса массива 1») UIDisplay 1 индекса массива

cellForItemAt Необязательный («значение индекса массива 2») willDisplay Необязательный («значение индекса массива 2»)

cellForItemAt Необязательный («значение индекса массива 3») UIDisplay из 3 индексов массива


person vandana    schedule 02.08.2019    source источник
comment
покажите свои данные и покажите свой код, чего вы пытаетесь достичь   -  person Wings    schedule 02.08.2019
comment
Возможно, ответ на этот вопрос поможет вам stackoverflow.com/a/31988673/6448167   -  person KSigWyatt    schedule 02.08.2019