2017-02-13 1 views
2

Je suis nouveau à Swift et essaie de faire une fonction qui retourne simplement le nombre de photos de votre album capture d'écran à l'aide fetchAssetCollectionsGet capture d'écran (album) compte dans rapide

Je

func getNumScreenshots() -> Int { 

    let collection:PHFetchResult = 
    PHAssetCollection.fetchAssetCollections(with: .album, subtype:.smartAlbumScreenshots, options: nil) 

    return collection.count 
} 

Cependant , cela revient toujours 3, et je ne sais pas pourquoi (j'ai 600 captures d'écran sur mon iPhone).

+0

vous pouvez utiliser smartAlbum –

Répondre

4

Vous pouvez essayer avec ceci:

let albumsPhoto:PHFetchResult<PHAssetCollection> = PHAssetCollection.fetchAssetCollections(with: .smartAlbum, subtype: .albumRegular, options: nil) 

    albumsPhoto.enumerateObjects({(collection, index, object) in 
     if collection.localizedTitle == "Screenshots"{ 
      let photoInAlbum = PHAsset.fetchAssets(in: collection, options: nil) 
      print(photoInAlbum.count) //Screenshots albums count 
     } 
    }) 

Remarque: Utilisez ce code est Swift 3

+0

Merci beaucoup c'est exactement ce que je cherchais! – rjvalenti

+0

Ok Bonne chance !! –

+0

Vous pouvez utiliser NSPredicate directement pour filtrer les photos. – user4150758