重新加载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后关闭视图的主要内容,如果未能解决你的问题,请参考以下文章
在 UICollectionView 中重新加载数据后保持 collectionview 速度
自定义 CollectionView 布局重新加载数据不起作用