PHFetchOptions *options = [[PHFetchOptions alloc] init];
options.sortDescriptors = @[[NSSortDescriptor
sortDescriptorWithKey:@"creationDate" ascending:YES]];
_assetsFetchResults = [PHAsset fetchAssetsWithOptions:options];
if (_assetsFetchResults.count > 0 ) {
_imageManager = [[PHCachingImageManager alloc] init];
[_arrgalleryImages setObject:[UIImage imageNamed:@"Photo"] atIndexedSubscript:0];
for (int k = 0; k <= 4; k++) {
PHAsset *asset = [_assetsFetchResults objectAtIndex:k];
[_imageManager requestImageDataForAsset:asset options:nil resultHandler:^(NSData * _Nullable imageData, NSString * _Nullable dataUTI, UIImageOrientation orientation, NSDictionary * _Nullable info) {
NSArray* paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString* documentsPath = [paths objectAtIndex:0];
NSString* filePath = [documentsPath stringByAppendingPathComponent:[NSString stringWithFormat:@"%d.png", k]];
path = filePath;
[imageData writeToFile:path atomically:YES];
[_arrgalleryImages addObject:path];
}];
}
}
Не получая изображения галереи в первый раз, т. Е. _AssetsFetchResults.count впервые дает ноль.