PHFetchOptions
Соответствует
-
AnyObject
-
CVarArgType
-
Сопоставимый
-
Hashable
-
NSCopying
-
NSObjectProtocol
-
Печатаемый
-
NSCopying
-
NSObject
Оператор импорта
Swift
import Photos
Objective C
@import Photos;
Доступность
Доступный в iOS 8.0 и позже.
Вы используете a PHFetchOptions
объект указать опции при использовании методов класса для PHAsset
, PHCollection
, PHAssetCollection
, и PHCollectionList
классы для получения фото объектов. (Фото объекты являются объектами, моделирующими элементы, с которыми работает пользователь в фото приложении: активы, наборы актива и списки набора.) Вызов метода выборки производит a PHFetchResult
объект, содержащий нужные объекты — опции, Вы указываете управление, возражающее результату выборки, включают, как те объекты располагаются в результате выборки, и как фотографии должны уведомить Ваше приложение изменений в результате выборки.
Фотографии поддерживают только ограниченный набор ключей для predicate
и sortDescriptors
свойства. Набор доступных ключей зависит, на котором классе Вы используете для выборки активов, или наборы — видят Таблицу 1 для списка ключей, поддерживаемых каждым классом.
Класс для метода выборки |
Поддерживаемые ключи |
---|---|
|
|
|
|
|
|
|
|
-
predicate
СвойствоПредикат, указывающий, какие свойства выбрать результаты и это также указывает любые ограничения на выбор.
Объявление
Swift
var predicate: NSPredicate!
Objective C
@property(nonatomic, strong) NSPredicate *predicate
Обсуждение
Создайте предикат со свойствами класса фото объектов, которые Вы хотите выбрать, перечисленный в Таблице 1. Например, следующий код использует предикат для выборки активов, соответствующих определенный набор
mediaSubtypes
значения:Swift
let fetchOptions = PHFetchOptions()
fetchOptions.predicate = NSPredicate(format: "(mediaSubtype & %d) != 0 || (mediaSubtype & %d) != 0", PHAssetMediaSubtype.PhotoPanorama.toRaw(), PHAssetMediaSubtype.VideoHighFrameRate.toRaw())
let fetchResult = PHAsset.fetchAssetsWithOptions(fetchOptions)
Objective C
PHFetchOptions *fetchOptions = [PHFetchOptions new];
fetchOptions.predicate = [NSPredicate predicateWithFormat:@"(mediaSubtype & %d) != 0 || (mediaSubtype & %d) != 0", PHAssetMediaSubtypePhotoPanorama, PHAssetMediaSubtypeVideoHighFrameRate];
PHFetchResult *fetchResult = [PHAsset fetchAssetsWithOptions:fetchOptions];
Фотографии не поддерживают предикаты, создаваемые с
predicateWithBlock:
метод.Оператор импорта
Objective C
@import Photos;
Swift
import Photos
Доступность
Доступный в iOS 8.0 и позже.
-
sortDescriptors
СвойствоМассив
NSSortDescriptor
объекты, указывающие упорядочивание для выбранных объектов.Объявление
Swift
var sortDescriptors: [AnyObject]!
Objective C
@property(nonatomic, strong) NSArray *sortDescriptors
Обсуждение
Создайте дескрипторы вида со свойствами фото объектов, которые Вы хотите выбрать, перечисленный в Таблице 1. Например, следующие виды кода датой создания для нахождения самого старого актива в фото библиотеке.
Swift
let fetchOptions = PHFetchOptions()
fetchOptions.sortDescriptors = [
NSSortDescriptor(key: "creationDate", ascending: true)
]
let fetchResult = PHAsset.fetchAssetsWithOptions(fetchOptions)
return fetchResult.firstObject
Objective C
PHFetchOptions *fetchOptions = [PHFetchOptions new];
fetchOptions.sortDescriptors = @[
[NSSortDescriptor sortDescriptorWithKey:@"creationDate" ascending:YES],
];
PHFetchResult *fetchResult = [PHAsset fetchAssetsWithOptions:fetchOptions];
return [fetchResult firstObject];
Фотографии не поддерживают дескрипторы вида, создаваемые с
sortDescriptorWithKey:ascending:comparator:
метод.Оператор импорта
Objective C
@import Photos;
Swift
import Photos
Доступность
Доступный в iOS 8.0 и позже.
-
wantsIncrementalChangeDetails
СвойствоБулево значение, определяющее, получает ли Ваше приложение подробную информацию об изменении для объектов в результате выборки.
Объявление
Swift
var wantsIncrementalChangeDetails: Bool
Objective C
@property(nonatomic, assign) BOOL wantsIncrementalChangeDetails
Обсуждение
Если Вы зарегистрировали наблюдателя изменения в совместно используемом
PHPhotoLibrary
объект, выбирающие фото объекты автоматически регистрируют Вашего наблюдателя для получения информации о более поздних изменениях в результате выборки, и об объектах это содержит. Для результата выборки измените информацию (aPHFetchResultChangeDetails
объект), может включать подробный список инкрементных различий от предыдущего состояния результата выборки, таких как новые фотографии, полученные начиная с исходной выборки.Если
YES
true
(значение по умолчанию), фотографии отправляют подробные инкрементные изменения, когда такая информация доступна. ЕслиNO
false
, Фотографии говорят Ваше приложение только, когда результат выборки изменился (когда можно выполнить выборку снова для получения обновленных результатов).Оператор импорта
Objective C
@import Photos;
Swift
import Photos
Доступность
Доступный в iOS 8.0 и позже.
-
includeAllBurstAssets
СвойствоБулево значение, определяющее, включает ли результат выборки все активы от пакетных фото последовательностей.
Объявление
Swift
var includeAllBurstAssets: Bool
Objective C
@property(nonatomic, assign) BOOL includeAllBurstAssets
Обсуждение
Когда пользователь берет последовательность фотографий в пакетном режиме с приложением Камеры (на поддерживаемых устройствах), фото пользовательский интерфейс приложения собирает в группу получающиеся активы и позволяет пользователю выбирать любимые элементы последовательности. Фотографии также автоматически отмечают элементы последовательности как избранное потенциального пользователя.
Если значение
NO
false
(значение по умолчанию), выборки, включающие пакетные фото последовательности, возвращают только выбранные пользователями элементы и представительный актив каждой последовательности. Если значениеYES
true
, такие выборки включают все активы в каждую последовательность.Оператор импорта
Objective C
@import Photos;
Swift
import Photos
Доступность
Доступный в iOS 8.0 и позже.
-
includeHiddenAssets
СвойствоБулево значение, определяющее, включает ли результат выборки активы, отмеченные, как скрытый.
Объявление
Swift
var includeHiddenAssets: Bool
Objective C
@property(nonatomic, assign) BOOL includeHiddenAssets
Обсуждение
Если значение
NO
false
(значение по умолчанию), выборки исключают активы чейhidden
свойствоYES
true
. Если значениеYES
true
, выборки включают все активы независимо от своего скрытого состояния.Оператор импорта
Objective C
@import Photos;
Swift
import Photos
Доступность
Доступный в iOS 8.0 и позже.