重新加载collectionview后关闭视图

Posted

技术标签:

【中文标题】重新加载collectionview后关闭视图【英文标题】:Dismiss view after reload 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)
        
    

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

【问题讨论】:

我没有看到您在此处重新加载的调用,但这听起来像是线程问题。 【参考方案1】:

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

DispatchQueue.main.async 
   HelpingMethods.dismissLoadingSpinner()

【讨论】:

【参考方案2】:

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

DispatchQueue.main.async 
       HelpingMethods.dismissLoadingSpinner()
    

【讨论】:

以上是关于重新加载collectionview后关闭视图的主要内容,如果未能解决你的问题,请参考以下文章

如何在collectionView中重新加载补充视图

在 UICollectionView 中重新加载数据后保持 collectionview 速度

如何从collectionview重新加载部分

自定义 CollectionView 布局重新加载数据不起作用

下载图像后触发collectionView重新加载的完成处理程序-Xcode [SWIFT]

频繁重新加载collectionView时崩溃