2014-12-12 12 views
10

Ich kann nicht das richtige Format herausfinden, um eine predicate für eine Instanz von PHFetchOptions zu definieren. Ich habe so viele Kombinationen ausprobiert, aber sie kompilieren nicht oder es werden keine Assets zurückgegeben.Wie formatiert NSPredate für PHFetchOptions in Swift?

Das Ziel ist nur die Fotos (keine Videos) in einer bestimmten Sammlung zu erhalten:

let options = PHFetchOptions() 
options.predicate = NSPredicate(format: "mediaType = %i", "PHAssetMediaType.Image") 
assetsFetchResults = PHAsset.fetchAssetsInAssetCollection(assetCollection, options: options) 

ich alle Kombinationen von == versucht haben, %d, %@, PHAssetMediaTypeImage, "PHAssetMediaTypeImage", PHAssetMediaType.Image usw.

+1

Sie können auch die Funktion 'PHAsset.fetchAssetsWithMediaType (_ mediaType: PHAssetMediaType, Optionen Optionen: PHFetchOptions!)' Verwenden, die möglicherweise eine direktere Methode ist, nur Fotos zu erhalten. – bcattle

Antwort

21
options.predicate = NSPredicate(format: "mediaType = %d", PHAssetMediaType.Image.rawValue) 

Natürlich finde ich es heraus, gleich nach dem Posten. ;)