【问题标题】:Dismiss view after reload collectionview重新加载collectionview后关闭视图
【发布时间】:2019-11-04 14:59:40
【问题描述】:

我进行了一个 api 调用,它为我提供了数据,并将这些数据放在 UICollectionView 中。首先,我创建一个加载器视图,然后在 completionHandler 中调用,如果我得到数据,我首先重新加载 tableview,然后关闭加载器,但相反的操作是先关闭加载器,然后重新加载集合视图

我尝试重新加载 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)
        }
    }
}

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

【问题讨论】:

  • 我没有看到您在此处重新加载的调用,但这听起来像是线程问题。

标签: swift xcode alamofire loading


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    通过这段代码可以解决问题

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

    【讨论】:

      猜你喜欢
      • 2021-10-23
      • 1970-01-01
      • 2020-09-28
      • 2020-05-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-04
      • 1970-01-01
      相关资源
      最近更新 更多