0
 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];
        }];
    }
}

Not getting gallery images for the first time, i.e _assetsFetchResults.count gives nil for the first time.

0 Answers0