Вот по этому и обновляет не ту ячейку.
Для того чтобы осознать это - надо понимать общую логику метода dequeueReusableCell. Он переиспользует ячейки, а не создает новые. Почитайте о нем пожалуйста. Появятся вопросы - приходите сюда.
А по теме вопроса - так как ячейки переиспользуются, а вы обновляете контент ячеек асинхронно, то и обновляются иногда (особенно когда вы быстро скролите) ячейки неправильным контентом.
Юрий,
"Посчитать количество уникальных секций. " - этого не должно быть в этом месте. Вы это условие должны обработать еще на этапе создания вашего многомерного массива.
там вы правда уткнетесь в "массивы и типы", но, это я оставлю на вас - знакомтесь с языком по полной.
Юрий, )))) Что именно не выходит?
- не получается продумать структуру в которую вам надо преобразовать? Ну, тут надо дуууумать.
- структуру продумали, но не получается реализовать преобразование? Поделитесь структурой тогда.
Чтобы использовать класс в другой части программы - придется импортить. Но, в случае с синглтоном (как я описал выше) - достаточно просто создать экземпляр синглтон класса и автоматически подтянется ранее созданный, в другом конце приложения, экземпляр. Как результат - сколько не создавай экземпляров синглтон класса - они все будут одним и тем же объектом.
В этом его сила (когда синглтон правильно используется) и его проклятие (когда не - правильно).