2014-12-12 13 views
10

Nie mogę znaleźć prawidłowego formatu niezbędnego do zdefiniowania predicate dla instancji PHFetchOptions. Próbowałem już tak wielu kombinacji, ale albo się nie kompilują, albo nie zwracano żadnych zasobów.Jak sformatować NSPredicate dla PHFetchOptions w Swift?

Celem jest, aby tylko zdjęcia (bez filmów) w danej kolekcji:

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

próbowałem wszystkich kombinacji ==, %d, %@, PHAssetMediaTypeImage, "PHAssetMediaTypeImage", PHAssetMediaType.Image itp

+1

Możesz także użyć funkcji 'PHAsset.fetchAssetsWithMediaType (_ mediaType: PHAssetMediaType, opcje opcji: PHFetchOptions!)', Co może być bardziej bezpośrednim sposobem na uzyskanie tylko zdjęć. – bcattle

Odpowiedz

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

Oczywiście, że to rozumiem, zaraz po wysłaniu. ;)