Size: a a a

2021 November 30

A

Andrew in SwiftBook
я не знаю что у вас там как устроено, но имитация загрузки должна происходить там, где будет загрузка, а не в ячейке
источник

EK

Edip Khalilov in SwiftBook
После unlocking... через 3 сек должно быть unlocked, но на 2 сек появляется locked (изначальное), а затем unlocked
источник

A

Andrew in SwiftBook
напишите на бумажке, что хотите сделать по пунктам, действие за действием. потом проверьте соответствует ли то что вы сделали, тому, что хотели сделать. если не поможет, расставите брекпоинты и смотрите, какие методы отрабатывают не в тот момент, когда должны. не поймете, сотрите все и напишите заново, по алгоритму, который изложили на бумажке
источник

A

Andrew in SwiftBook
мы по скриншоту одного метода ничего понять не сможем
источник

K

Kapitoshka438 in SwiftBook
В cellForItem ты «подгружаешь ячейку» в течение 2 секунд. При нажатии на ячейку ты «разблокируешь» ее в течение 3 секунд, при этом обновляя ячейку, что снова вызывает cellForItem, который опять же прогружает ячейку в течение 2 секунд.
reloadData(), reloadSections() и прочая хренотень - очень специфичные штуки и не предназначены для того, чтобы их пихать туда, куда ты их пихаешь, потому что по факту визуально они будут выполняться не тогда, когда ты этого хочешь.
источник

K

Kapitoshka438 in SwiftBook
В твоей ситуации вообще не нужно вызывать reload.
источник

K

Kapitoshka438 in SwiftBook
Вот здесь на 218 строчке ты обновляешь ячейку, вызывая cellForItem. При этом появляется спиннер загрузки, который пропадет через 2 секунды. В тот же момент ты ставишь таймер на 3 секунды, который сработает через 3-2=1 секунду, после того как пропадет спиннер загрузки.
источник

EK

Edip Khalilov in SwiftBook
А что мне вызывать, если я уберу reload, то ничего не происходит
источник

K

Kapitoshka438 in SwiftBook
Покажи что будет, если убрать 218 и 226 строчки
источник

EK

Edip Khalilov in SwiftBook
источник

K

Kapitoshka438 in SwiftBook
Что такое self.content?
источник

EK

Edip Khalilov in SwiftBook
Вообще имитация API мне нужна только в начале (так оно и есть), но при нажатии на ячейку имитация со спинером быть не должно, должно сразу unloking... и unloked, но я пока не знаю как отменить имитацию и спинер
источник

EK

Edip Khalilov in SwiftBook
Это моя модель, я задаю начальные значения
источник

K

Kapitoshka438 in SwiftBook
Ты в один момент времени хранишь модель только для одной ячейки?
источник

EK

Edip Khalilov in SwiftBook
Да)
источник

K

Kapitoshka438 in SwiftBook
Добавь в эту модель флаг, который говорит о том, нужно ли имитировать 2-секундную загрузку. И в cellForItem имитируй ее только в зависимости от этого флага.
В didSelect, меняй этот флаг и верни reloadSections
источник

SK

Sergey Kotov in SwiftBook
Переслано от Sergey Kotov
Какой аналог есть reduction (+: sum) в свифте? Нужно параллельно сумму посчитать
источник

SK

Sergey Kotov in SwiftBook
Переслано от Sergey Kotov
источник

SK

Sergey Kotov in SwiftBook
Переслано от Sergey Kotov
источник

K

Kapitoshka438 in SwiftBook
Этот метод должен сработать, но в общем и целом весь подход абсолютно неправильный.
источник