Получить пакет изображений iOS
Я хотел бы получить фиксированные партии изображений, расположенных на устройстве iOS. Я использую новую Фоторамку, и я уже нашел этот обходной путь:
PHFetchOptions *allPhotosOptions = [PHFetchOptions new];
allPhotosOptions.sortDescriptors = @[[NSSortDescriptor sortDescriptorWithKey:@"creationDate" ascending:NO]];
// Fetches all photos -> i would like to fetch only some of them
PHFetchResult *allPhotosResult = [PHAsset fetchAssetsWithMediaType:PHAssetMediaTypeImage options:allPhotosOptions];
NSIndexSet *indexSet = [NSIndexSet indexSetWithIndexesInRange:NSMakeRange(currentIndex, batch_size)];
// Iterates over a subset of the previously fetched photos
[allPhotosResult enumerateObjectsAtIndexes:indexSet options:0 usingBlock:^(PHAsset *asset, NSUInteger idx, BOOL *stop)
{
// Do stuff
}
Работает нормально, но сначала я выбираю все фотографии с fetchAssetsWithMediaType
а затем выберите подмножество результата для загрузки моего приложения, которое кажется довольно тяжелым...
Я хотел знать, есть ли способ напрямую получать фотографии из пакета в пакетном режиме, а не получать их все, а затем повторять. Кроме того, было бы идеально, если бы я мог сохранить индексы последней загруженной партии, чтобы знать, где я получу следующую партию.
Спасибо за вашу помощь!
1 ответ
После более подробного поиска я, наконец, нашел здесь то, что искал: можно было просто использовать setFetchBatchSize
от NSSortDescriptor
,