我正在编写一个相册应用程序,它可以访问用户照片库中的照片、添加过滤器和删除照片。我使用 Photo 框架通过 PHAssetChangeRequest.deleteAssets(assetToDelete)
删除 Assets 。
这里的 Assets 类别是 PHAsset
。
// Delete the photo from library
@IBAction func deleteBtnPressed(_ sender: Any) {
let assetToDelete = self.asset
if let assetToDelete = assetToDelete
{
PHPhotoLibrary.shared().performChanges({
PHAssetChangeRequest.deleteAssets(assetToDelete)
})
}
}
但是这里发生错误,“参数类型‘PHAsset’不符合预期类型‘NSFastEnumeration’”。
所以我按照 Xcode 的建议更改了 assetToDelete 的类型:
PHAssetChangeRequest.deleteAssets(assetToDelete as! NSFastEnumeration)
还是不行,报错是:
Could not cast value of type 'PHAsset' to 'NSFastEnumeration'
有人知道怎么处理吗?谢谢!
最佳答案
线索就在名称“assets”的复数中——API 需要一个数组或任何其他符合 NSFastEnumeration 的集合类型,例如 Set
PHAssetChangeRequest.deleteAssets([assetToDelete] 作为 NSArray)
https://developer.apple.com/documentation/photos/phassetchangerequest/1624062-deleteassets
关于ios - 使用照片框架从照片库中删除照片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46884136/