2015-04-06 131 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

相關問題