2015-04-06 135 views
1

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

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

谢谢大家回答我的问题!

回答

5

我想问题在于你的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

enter image description here

+0

谢谢,但我的问题是如何使用lastAsset使阵列和传递数组deleteAssets method.Could请你告诉我更多的代码和细节。 – 2015-04-06 10:46:38

+0

我编辑了我的答案 – toofani 2015-04-06 13:50:52

相关问题