如何删除Swift iOS8中的最后一张照片?

王怡飞*_*王怡飞 1 ios camera-roll swift

我尝试从相机胶卷中取出最后一张照片并将其删除.现在我收到了最后一张照片,但在删除最后一张照片时遇到了问题.我试过这种方式,但我删除了所有照片,所以我打算建立一个新的PHFetchResult,它只包含最后一张照片,但我不知道该怎么做.

PHPhotoLibrary.sharedPhotoLibrary().performChanges( {
      PHAssetChangeRequest.deleteAssets(fetchResult)},
      completionHandler: { 
      success, error in
      NSLog("Finished deleting asset. %@", (success ? "Success" : error))
      }) 
Run Code Online (Sandbox Code Playgroud)

谢谢大家回答我的问题!

too*_*ani 7

我想问题出在你的身上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))
        }) 



    }
Run Code Online (Sandbox Code Playgroud)

看到这个链接.

在此输入图像描述