tom*_*dey 9 multithreading ios swift photosframework
我想在用户的照片库上做一些工作.由于库可能很大,我想在后台进行.我想知道是否可以安全地执行资产提取(例如PHAsset.fetchAssets)并在后台处理它们?
我现在只需要资产元数据.
这样的事情是安全的:
class ViewController: UIViewController {
var cachedResult = [Any]()
func doBackgroundCalculationsOnPhotos(completionHandler: ([Any]) -> ()) {
DispatchQueue.global(qos: .userInitiated).async {
let photos = PHAsset.fetchAssets(with: .image, options: nil)
var result = [Any]()
photos.enumerateObjects({ asset, _, _ in
result.append(calculateSomething(asset))
})
DispatchQueue.main.async {
self.cachedResult = result
completionHandler(result)
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
是否有任何文档参考我可以了解照片框架和后台访问?
| 归档时间: |
|
| 查看次数: |
359 次 |
| 最近记录: |