我有一个PHAssetCollection(自定义相册),我想删除此相册中的所有图片。
我正在尝试执行while循环以删除集合中包含的每个资产,但是我遇到了多个问题。
这是我的代码:
var iter: Int = 0;
let myGroup = DispatchGroup()
while(iter < self.photosAsset.count){
myGroup.enter()
print("Deleting Asset \(iter):\(self.photosAsset[iter].description)")
PHPhotoLibrary.shared().performChanges({PHAssetChangeRequest.deleteAssets([self.photosAsset[iter]] as NSArray)
}, completionHandler: {(success, error) -> Void in
if success {
print("Asset \(iter) deleted")
myGroup.leave()
} else {
print("Error: \(String(describing: error))")
}
})
iter=iter+1;
}//end while
这是我面临的问题:
我正面临一个超出范围(x)的异常索引(x),而我的相册中有4张照片,当它为<4
删除操作不同步(即使我使用的是DispatchGroup)
我每次都会提示仅删除第一张图片(如果我将while循环的退出情况更改为count-1)
还有其他方法可以简单地删除集合中的每个资产吗?