, когда я запускаю фото принести как:Получить фотографии с определенного альбома в стриже, используя PHAssetCollection.fetchAssetCollectionsWithType()
let assetCollections: PHFetchResult = PHAssetCollection.fetchAssetCollectionsWithType(.SmartAlbum, subtype: .Any, options: nil)
я получаю результат нескольких альбомов, так что я могу перебирать массив и поместить их название в таблицеView.
НО: Когда я использую предикат для фильтрации и получаю, например, альбом «Camera Roll», результатом всегда является пустой массив: (И я знаю, что 100% уверены, что Camera Roll существует, потому что с параметрами nil он извлекает его)
let fetchOptions = PHFetchOptions()
fetchOptions.predicate = NSPredicate(format: "title = %@", "Camera Roll")
let assetCollections: PHFetchResult = PHAssetCollection.fetchAssetCollectionsWithType(.SmartAlbum, subtype: .Any, options: fetchOptions)
let album: PHAssetCollection = assetCollections.firstObject as! PHAssetCollection
Я прочитал 4 или 5 различных методов от людей в Интернете, и все они имеют этот предикат ли с "TITLE =% @", или "localizedTitle =% @" или "localizedIdentifier =% @" ... Я НЕ ПОЛУЧУ ЭТО. Кажется, работа для людей, а не для меня. Компилятор сбой на последней строке, пытаясь «развернуть необязательное значение nil» («если результат выборки пуст»). Почему поиск возвращает нуль, как только включаются опции выборки ???
Хотя этот код может ответить на вопрос, было бы лучше объяснить, как он решает проблему, не вводя других и почему ее использовать. Ответы только на код не полезны в долгосрочной перспективе. – JAL