1

カメラロールから最後の写真を取得して削除しようとしましたが、最後の写真を取得しましたが、最後の写真の削除に問題があります。この方法を試しましたが、すべての写真を削除したため、最後の写真のみを含む新しい PHFetchResult を作成する予定ですが、その方法がわかりません。

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

私の質問に答えてくれてありがとう!

4

1 に答える 1

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))
        }) 



    }

このリンクを参照してください。

ここに画像の説明を入力

于 2015-04-06T09:46:10.067 に答える