我有一个iOS
从数据源方法中提取图像的项目。我希望能够从中提取图像assets library
(下面的代码块就可以了)。
但是,我需要此dataSource
方法返回 a UIImage
,但是当我使用资产库方法获取图像时,图像会在结果块中返回。简单地放入return image
结果块显然是行不通的。
有谁知道如何让该方法UIImage
从结果块内部返回 a ?我已经看到了其他几个关于在块内返回图像的 SO 问题,但据说它们调用了另一种方法。我 - 不幸的是 - 不能这样做,因为这个方法是一个nimbus数据源方法,它必须返回一个 UIImage。
任何帮助或建议将不胜感激!下面的代码:
- (UIImage *)photoAlbumScrollView: (NIPhotoAlbumScrollView *)photoAlbumScrollView
photoAtIndex: (NSInteger)photoIndex
photoSize: (NIPhotoScrollViewPhotoSize *)photoSize
isLoading: (BOOL *)isLoading
originalPhotoDimensions: (CGSize *)originalPhotoDimensions {
__block UIImage *image = nil;
ALAssetsLibrary* assetslibrary = [[ALAssetsLibrary alloc] init];
[assetslibrary assetForURL:[_photos objectAtIndex:photoIndex]
resultBlock:^(ALAsset *asset){
ALAssetRepresentation *rep = [asset defaultRepresentation];
CGImageRef imageRef = [rep fullScreenImage];
if (imageRef) {
image = [UIImage imageWithCGImage:imageRef];
}
}
failureBlock:^(NSError *error) {
//return nil;
}];
return image;
}