我尝试从相机胶卷中获取最后一张照片并将其删除。现在我获取了最后一张照片,但在删除最后一张照片时遇到问题。
我尝试了这种方法,但我删除了所有照片,所以我计划构建一个新的 PHFetchResult,其中仅包含最后一张照片,但我不知道该怎么做。
PHPhotoLibrary.sharedPhotoLibrary().performChanges( {
PHAssetChangeRequest.deleteAssets(fetchResult)},
completionHandler: {
success, error in
NSLog("Finished deleting asset. %@", (success ? "Success" : error))
})
谢谢大家回答我的问题!
我想问题出在你的fetchResult
。
您必须传递一个仅包含照片库中最新图像的数组。
尝试按如下方式制作该数组 -
var fetchOptions: PHFetchOptions = PHFetchOptions()
fetchOptions.sortDescriptors = [NSSortDescriptor(key: "creationDate", ascending: true)]
var fetchResult = PHAsset.fetchAssetsWithMediaType(PHAssetMediaType.Image, options: fetchOptions)
if (fetchResult.lastObject != nil) {
var lastAsset: PHAsset = fetchResult.lastObject as PHAsset
let arrayToDelete = NSArray(object: lastAsset)
PHPhotoLibrary.sharedPhotoLibrary().performChanges( {
PHAssetChangeRequest.deleteAssets(arrayToDelete)},
completionHandler: {
success, error in
NSLog("Finished deleting asset. %@", (success ? "Success" : error))
})
}
看到这个link http://www.veasoftware.com/tutorials/2015/1/5/get-last-photo-from-camera-roll-in-swift-xcode-6-ios-8-tutorial.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)