5

我想获取位于 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然后选择结果的一个子集供我的应用程序加载,这似乎很重......

我想知道是否有一种方法可以直接批量获取照片,而不是全部获取然后迭代。此外,如果我可以保留最后一批获取的索引,以知道我将在哪里获取下一批,那将是完美的。

谢谢你的帮助!

4

1 回答 1

-1

经过更详细的搜索,我终于在这里找到了我想要的东西:一个可以使用 setFetchBatchSizefrom NSSortDescriptor

于 2016-09-26T13:31:35.217 回答