Отображение данных из API в .xib не работает - PullRequest
0 голосов
/ 07 декабря 2018

Я использовал файл .xib для создания нескольких UICollectionView / UITableview в пределах одного UIViewController, он отлично работал с фиктивными данными.Но теперь я хочу интегрировать API в .nib.Я сталкиваюсь с проблемой, что мой getDataForBannerImage() выполняется, но он должен вернуть bannerImageModel из службы, но он всегда возвращает 0 count bannerImageModel Я не могу исправить проблему, пожалуйста, помогите мне

class BannerImageStatus: Decodable {
    let status: String
    let error: Bool
    let data: [BannerImageModel]
    init(status: String, error: Bool, data: [BannerImageModel]) {
        self.status = status
        self.error = error
        self.data = data
    }
}

class BannerImageModel: Decodable {
    var id: String
    var name: String
    var image: String
    var url: String
    var status: String
    var created_at: String

    init(id: String, name: String, image: String, url: String, status: String, created_at: String) {
        self.id = id
        self.name = name
        self.image = image
        self.url = url
        self.status = status
        self.created_at = created_at
    }
}  


class BannerImageService {
    var bannerImageModel = [BannerImageModel]()



        func getDataForBannerImage() -> [BannerImageModel]  {
            Alamofire.request("http://abcd/Homeapi/banner/format/json/").responseJSON{ response in
            if let locationJSON = response.result.value as? [String: Any] {
                let data = locationJSON["data"] as! [[String: Any]]
                for dataItem in data {
                    let bannerModel = BannerImageModel(id: dataItem["id"] as! String, name: dataItem["name"] as! String, image: dataItem["image"] as! String, url: dataItem["url"] as! String, status: dataItem["status"] as! String, created_at: dataItem["created_at"] as! String)
                    self.bannerImageModel.append(bannerModel)
                    print(bannerModel.url + bannerModel.image)
                }
            }
        }
        return bannerImageModel
    }

Теперь, когдаЯ вызываю службу из класса .xib, всегда bannerImageModelArray.count, давая 0 из-за этой проблемы. Я не могу вызвать представление моей коллекции.

...