我目前正在接收xml格式的数据,并使用XMLParser将数据解析为更有用的数据。我的困境在于我的UICollectionView。我呈现的单元格都需要一个网络请求,以便检索与特定单元格相关的一些值。唯一的问题是我的UI在这个动作中被完全冻结了。我曾尝试将每个相关对象与其自己的网络请求绑定在一起,以检索与该对象关联的数据,但无济于事。有没有更好的方法来解决这个问题呢?
如何在不重载UI线程的情况下向多个单元发出单独的网络请求。我已经使用DispatchQueue.main.async {}尝试了DispatchQueue.global(.background).async { }并返回到主线程,但是看起来XML Parser仍然可以在主线程中运行。
发布于 2018-03-26 14:45:59
我想通了。
我将XMLParser.parser()方法放在DispatchQueue.global(.background).async { }中,并在public func parserDidEndDocument(_ parser: XMLParser)中重新加载collectionView
https://stackoverflow.com/questions/49485191
复制相似问题