Я использую эту библиотеку https://github.com/Yalantis/Koloda По сути, это модуль, который помогает мне реализовать интерфейс, похожий на Tinder.
В этом модуле есть метод источника данных, называемый kolodaNumberOfCards(_ koloda: KolodaView)
, который требует, чтобы вы объявили сколько карт , которые программа должна показать в представлении Koloda.
func kolodaNumberOfCards(_ koloda: KolodaView) -> Int {
return allCards.list.count
}
Я реализую архитектуру MVC в своем приложении, поэтому у меня есть файл класса модели данных, который я создаю в верхней части этого текущего контроллера представления.
var allCards = QuestionBank()
В QuestionBank
класс, у меня есть список (массив) Card
объектов, который содержит все метаданные Card
объектов.Card
объект также содержит UIImage, который я хочу создать в KolodaCard View.
ПРОБЛЕМА ПРИХОДИТ, когда у меня нет объектов Card в массиве списка QuestionBank при init!Эти Card
объекты добавляются в список после того, как я извлекаю данные удаленно из API.
Однако в моем ViewController, содержащем KolodaView, мне нужно объявить сколько карт программа ожидает показа в Koloda View.Так как list.count равен 0, когда вы впервые входите в ViewController, KolodaView будет ожидать 0 карт!
В настоящее время мой KolodaView не показывает ни одного из загруженных мной изображений.
Есть ли способ отложить методы Data Source от Koloda, чтобы программа могла ожидать получения всех данных из API, или есть другое решение этой проблемы?