2015-08-30 1 views
0

Je veux obtenir file_name (example = IMG_xxxx.jpg)Comment obtenir la dernière photo du nom de fichier dans Swift 2.0 iOS9?

func lastphoto() { 
    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 options:PHImageRequestOptions = PHImageRequestOptions() 
     options.version = PHImageRequestOptionsVersion.Current 

     PHImageManager.defaultManager().requestImageForAsset(lastAsset, 
         targetSize: self.imageView.bounds.size, 
         contentMode: PHImageContentMode.AspectFill, 
         options: PHImageRequestOptions(), 
         resultHandler: { (result, info) -> Void in 
           self.imageView.image = result 
           let manager = PHImageManager.defaultManager() 
           let assets = PHAsset.fetchAssetsWithMediaType(.Image, options: nil) 
         }) 


    } 
} 

Répondre

1

Comme d'iOS 9.0, vous pouvez obtenir le nom du fichier original en utilisant les éléments suivants:

var filename: String? 

if #available(iOS 9.0, *) { 
    let resources = PHAssetResource.assetResourcesForAsset(lastAsset) 
    if let resource = resources.first { 
     filename = resource.originalFilename 
    } 
} 

Si vous soutenez pré-iOS 9.0 versions, vous pouvez essayez également d'utiliser une solution de contournement non documentée qui fonctionne toujours à partir de iOS 9.1:

filename = lastAsset.valueForKey("filename") as? String 
+0

est possible de changer ce nom de fichier ou enregistrer une photo avec un nom de fichier personnalisé? –