我尝试像这样在异步块中获取照片中的所有GIF:
DispatchQueue.main.async {
allImageFetchResult.enumerateObjects(options: .concurrent, using: {(asset, _, _) in
if asset.isGIF {
assetSet.insert(asset)
}
})
}
但是,似乎是阻止用户界面,在阻止任务完成之前,该界面不会响应我的触摸操作。
最佳答案
DispatchQueue.main.async允许UI更新异步在主线程上。枚举对象时,您正在执行同步任务。见https://developer.apple.com/documentation/photos/phfetchresult/1620998-enumerateobjects
讨论:此方法同步执行。
因此,您应该做的事是事先枚举,并且仅更新DispatchQueue中的UI。
关于ios - enumerateObjects块主UI?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44754623/