Я пытаюсь создать простой подборщик фотографий, который имеет два варианта: рецензии и избранные. То, что я делаю, пытается получить все фотографии по creationDate
, однако это возвращает образы в неправильном порядке в моем источнике данных. Есть фотографии лет назад в начале источника данных, а фотографии, которые меньше, чем несколько минут, разбросаны по всему миру. Я думаю, что проблема в том, что мне нужно сначала указать основной выбор fetchResult, но я не думаю, что это возможно: Unsupported sort descriptor in fetch options: (creationDate, ascending, compare:
PHFetchResult получить все фотографии и отсортировать по дате непоследовательно
Буду признателен за любую предлагаемую помощь. Код:
@property (nonatomic, strong) NSMutableOrderedSet *recentsDataSource;
@property (nonatomic, strong) NSMutableOrderedSet *favoritesDataSource;
- (void)setup
{
PHFetchResult *fetchResult = [PHAssetCollection fetchAssetCollectionsWithType:PHAssetCollectionTypeSmartAlbum | PHAssetCollectionTypeAlbum subtype:PHAssetCollectionSubtypeAny options:nil];
for (PHAssetCollection *sub in fetchResult)
{
PHFetchOptions *fetchOptions = [[PHFetchOptions alloc]init];
fetchOptions.sortDescriptors = @[[NSSortDescriptor sortDescriptorWithKey:@"creationDate" ascending:YES]];
PHFetchResult *assetsInCollection = [PHAsset fetchAssetsInAssetCollection:sub options:fetchOptions];
for (PHAsset *asset in assetsInCollection)
{
[self.recentsDataSource addObject:asset];
if (asset.isFavorite)
{
[self.favoritesDataSource addObject:asset];
}
}
}
}
PHFetchResult не соответствует последовательности протокола, поэтому мы не можем использовать его внутри для .. в заявлении. – saiday