
我正在使用第三方库从照片库中选择多个图像.在选择多个图像时,它返回一组PHAsset对象.
现在,我想在核心数据中保存这些对象的URL(或一些引用).但我不知道如何获取URL.我可以在核心数据中存储任何其他参考资料,这可以帮助我从照片库中获取相同的图像吗?解决方法 我使用了Hitesh surani的答案并且它工作得很完美,我把它转换成Swift 3.1并将其放入PHAsset的扩展中以便在任何地方使用该方法,这里是:
extension PHAsset { func getURL(completionHandler : @escaPing ((_ responseURL : URL?) -> VoID)){ if self.mediaType == .image { let options: PHContentEditinginputRequestoptions = PHContentEditinginputRequestoptions() options.canHandleAdjustmentData = {(adjustMeta: PHAdjustmentData) -> Bool in return true } self.requestContentEditinginput(with: options,completionHandler: {(contentEditinginput: PHContentEditinginput?,info: [AnyHashable : Any]) -> VoID in completionHandler(contentEditinginput!.fullSizeImageURL as URL?) }) } else if self.mediaType == .vIDeo { let options: PHVIDeoRequestoptions = PHVIDeoRequestoptions() options.version = .original PHImageManager.default().requestAVAsset(forVIDeo: self,options: options,resultHandler: {(asset: AVAsset?,audioMix: AVAudioMix?,info: [AnyHashable : Any]?) -> VoID in if let urlAsset = asset as? AVURLAsset { let localVIDeoUrl: URL = urlAsset.url as URL completionHandler(localVIDeoUrl) } else { completionHandler(nil) } }) } }} 总结 以上是内存溢出为你收集整理的ios – 如何获取PHAsset的URL?全部内容,希望文章能够帮你解决ios – 如何获取PHAsset的URL?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)