Получить пакет изображений iOS

Я хотел бы получить фиксированные пакеты изображений, расположенных на устройстве iOS. Я использую новую Photos Framework и уже нашел этот обходной путь:

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, а затем выбираю подмножество результатов для загрузки моего приложения, что кажется довольно тяжелым...

Я хотел знать, есть ли способ напрямую извлекать фотографии партиями, а не извлекать их все, а затем повторять. Кроме того, было бы идеально, если бы я мог сохранить индексы последней загруженной партии, чтобы знать, откуда я возьму следующую партию.

Спасибо за вашу помощь!


person Alexandre Rozier    schedule 22.09.2016    source источник


Ответы (1)


После более подробного поиска я наконец нашел здесь то, что искал for: можно было бы использовать setFetchBatchSize из NSSortDescriptor.

person Alexandre Rozier    schedule 26.09.2016
comment
NSSortDescriptors не имеет этого свойства fetchBatchSize. Ответ не ясен. - person Stoyan; 17.04.2018