重新加载collectionview后关闭视图

时间:2019-11-04 14:59:40

标签: swift xcode alamofire loading

我进行了一次api调用,将数据提供给我,然后将这些数据放入UICollectionView中。首先,我创建一个加载器视图,然后进行调用,如果我获取数据,则在completionHandler中先加载表视图,然后关闭加载器,但相反的操作是先关闭加载器,然后重新加载集合视图

我试图重新加载UICollectionView,但是什么也没发生。

HelpingMethods.showLoadingSpinner(count: count)
Alamofire.request(url!, method: .get, parameters: nil, encoding: URLEncoding(destination: .methodDependent), headers: HelpingMethods.setUpHeaders()).log().responseJSON { (response) in

    switch response.result{
    case .failure( _):
        completionHandler(nil)
    case .success(let value):
        do {
            let jsonData = try JSONSerialization.data(withJSONObject: value, options: .prettyPrinted)
            let offers = try JSONDecoder().decode(Offers.self, from: jsonData)
            HelpingMethods.dismissLoadingSpinner()
            completionHandler(offers)
        }catch let error {
            completionHandler(nil)
        }
    }
}

我需要在重新加载数据后关闭加载程序。

2 个答案:

答案 0 :(得分:0)

尝试将HelpingMethods.dismissLoadingSpinner()放入调度队列中。就像:

DispatchQueue.main.async {
   HelpingMethods.dismissLoadingSpinner()
}

答案 1 :(得分:0)

通过此代码,您可以解决问题

DispatchQueue.main.async {
       HelpingMethods.dismissLoadingSpinner()
    }