2014-12-12 3 views
10

Я не могу найти правильный формат, необходимый для определения predicate для экземпляра PHFetchOptions. Я пробовал так много комбинаций, но они либо не компилируются, либо не возвращаются никакие активы.Как отформатировать NSPredicate для PHFetchOptions в Swift?

Цель состоит в том, чтобы получить только фотографии (нет видео) в данной коллекции:

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

я пробовал все комбинации из ==, %d, %@, PHAssetMediaTypeImage, "PHAssetMediaTypeImage", PHAssetMediaType.Image и т.д.

+1

Вы также можете использовать функцию 'PHAsset.fetchAssetsWithMediaType (_ mediaType: PHAssetMediaType, опции options: PHFetchOptions!)', Которая может быть более прямым способом получения фотографий. – bcattle

ответ

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

Конечно, я выясню это, сразу после публикации. ;)

Смежные вопросы