gpt4 book ai didi

ios - 从照片库中删除图像

转载 作者:行者123 更新时间:2023-12-01 16:14:24 24 4
gpt4 key购买 nike

在我的应用程序中,我有一个功能可以将图像保存到在照片库中创建的自定义收藏相册中:

func save(image: UIImage) {
if assetCollection == nil {
return
}
PHPhotoLibrary.shared().performChanges({
let assetChangeRequest = PHAssetChangeRequest.creationRequestForAsset(from: image)
let assetPlaceHolder = assetChangeRequest.placeholderForCreatedAsset
let albumChangeRequest = PHAssetCollectionChangeRequest(for: self.assetCollection)
let enumeration: NSArray = [assetPlaceHolder!]
albumChangeRequest!.addAssets(enumeration)
}, completionHandler: nil)
}

UIImages 是由用户在以前的 VC 中创建的。此外,它们被保存到文档目录中,然后在我的应用程序中显示在单独 VC 的 Collection View 中。

稍后用户可以选择所需的照片,然后在新的 VC 中显示并通过单击 Trash TabBarButton 将其删除。当按下按钮时,图像会从文档目录中删除,因此它也会从 Collection View 中消失。

我想要实现的是同时从照片库中删除这张照片。因此,当用户单击垃圾箱按钮时,也会从文档目录和照片库中删除选定的照片。

到目前为止我所取得的成就 - 创建了获取图像 URL 并根据该 URL 删除项目的函数,就像我对 Documents Directory 所做的那样:
func deleteSelectedPhotoFromGallery() {
PHPhotoLibrary.shared().performChanges({
let imageAssetToDelete = PHAsset.fetchAssets(withALAssetURLs: self.loadURL() as! [URL], options: nil)
PHAssetChangeRequest.deleteAssets(imageAssetToDelete)
})
}

编辑:这就是我获取 URL 的方式:
func loadURL() -> [NSURL?]? {
let retrievedData = UserDefaults.standard.object(forKey: DefaultKeys.imagesURL.rawValue) as? [String]
return retrievedData?.map { NSURL(string: $0) }
}

问题:
  • fetchAssets(withALAssetURLs) - 将被弃用,改用什么?
  • 如何获取保存到 PhotoLibrary 的图像 URL?

  • 基本上,我需要一些方法来从之前保存的照片库中删除图像。我想知道您是否可以在保存时以某种方式检测图像 URL 或路径,然后将其路径存储到 UserDefaults 中,然后使用它的路径或 URL 将其删除。

    之前有关于这个问题的问题,但他们使用 ImagePicker 来检测图像 URL 以及用 objc 编写的位置,但我想在不使用 ImagePicker 的情况下快速找到解决方案。

    谢谢。

    最佳答案

    fetchAssets(withALAssetURLs) - will be deprecated, what to use instead? how to get image URL that is being saved to PhotoLibrary?



    你没有。这就是它被弃用的原因!您将获得 Assets 的 localIdentifier .这使您可以访问 Assets 并在以后将其删除。

    您的完成处理程序是空的。那就是问题所在。编写完成处理程序并从占位符中获取本地标识符。

    关于ios - 从照片库中删除图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48766730/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com