我正在编写一个照片相册应用程序,可以从用户的照片库中访问照片,添加滤镜并删除照片。我使用了Photo框架来删除一个资产,代码为PHAssetChangeRequest.deleteAssets(assetToDelete)
。这里的资产类是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)
仍然无法工作,错误显示为:
无法将类型为“PHAsset”的值强制转换为“NSFastEnumeration”
有人知道如何处理吗?谢谢!
func delete(_ assets: [PHAsset]) {... PHAssetChangeRequest.deleteAssets(assets) ...}
。它报错了:“参数类型‘[PHAsset]’不符合预期的‘NSFastEnumeration’类型”。 - Vyachaslav Gerchicovas NSArray
吗? - Warren Burton[assetToDelete]
是Swift 数组
,而不是NSArray
。 - Vyachaslav Gerchicov