数据筛选、排序和管理 - PHFetchOptions
PHFetchOptions的对象,与其他属性结合,设置对asset的筛选条件。以及设置一组NSSortDescriptor对象,对获得的asset list排序。
- 属性 - 筛选和排序
predicate
@property (nonatomic, strong, nullable) NSPredicate *predicate;
一个谓词。对数据进行筛选。 tips: 参考 简要理解 - NSPredicate
sortDescriptors
@property (nonatomic, strong, nullable) NSArray<NSSortDescriptor *> *sortDescriptors;
一组排序规则。作为(筛选完成得到的)数据集的排序规则。 tips: iOS 使用NSSortDescriptor创建排序规则
includeHiddenAssets
@property (nonatomic, assign) BOOL includeHiddenAssets;
获取结果中是否包含隐藏asset,默认为NO。
includeAllBurstAssets
@property (nonatomic, assign) BOOL includeAllBurstAssets API_AVAILABLE(macos(10.15));
获取结果是否包含隐藏的burst asset,默认为NO。
includeAssetSourceTypes
@property (nonatomic, assign) PHAssetSourceType includeAssetSourceTypes API_AVAILABLE(ios(9));
NS_OPTIONS 枚举值。想要在结果中获取的asset的来源类型,枚举类型如下。
typedef NS_OPTIONS(NSUInteger, PHAssetSourceType) {
PHAssetSourceTypeNone = 0,
PHAssetSourceTypeUserLibrary = (1UL << 0),
PHAssetSourceTypeCloudShared = (1UL << 1),
PHAssetSourceTypeiTunesSynced = (1UL << 2),
} API_AVAILABLE(ios(9));
wantsIncrementalChangeDetails
@property (nonatomic, assign) BOOL wantsIncrementalChangeDetails;
一个布尔值,它决定你的应用程序是否接收到取回结果中对象的详细更改信息。
- 属性 - 其他
fetchLimit
@property (nonatomic, assign, readwrite) NSUInteger fetchLimit API_AVAILABLE(ios(9));
设置获取结果中包含的最大对象数。