繁体   English   中英

Swift等效于CGImage的UIImage吗?

[英]Swift equivalent for UIImage with CGImage?

以下表达式的Swift等效项是什么?

@property (strong, nonatomic) NSMutableArray *assets;

cell.imageView.image = [UIImage imageWithCGImage:[[self.assets objectAtIndex:indexPath.row] thumbnail]];

我试过了:

private var assets: [AnyObject]

cell.imageView.image = UIImage(CGImage: self.assets[indexPath.row].thumbnail())

但这给出了错误:

Missing argument for parameter 'inBundle' in call

编辑: self.assets具有来自以下表达式的对象:

ALAssetsGroupEnumerationResultsBlock assetsEnumerationBlock = ^(ALAsset *result, NSUInteger index, BOOL *stop) {

        if (result) {
            [self.assets insertObject:result atIndex:0];
        }

    };

像这样声明属性:

var assets: [ALAsset]

然后,在某些方法的实际代码中:

let thumb = self.assets[indexPath.row].thumbnail().takeUnretainedValue()
cell.imageView.image = UIImage(CGImage:thumb)

在属性声明中,我向编译器说明了这实际上是一个数组。 否则,不知道thumbnail()是一个真正的方法,也不知道它返回的是哪种类型的东西。

在实际代码的第一行中,我要处理的事实是AssetLibrary框架没有内存管理信息。 除非您以某种方式解决此问题,否则您无法在Swift中继续进行。

因此,到下一行,我们有了一个实际的CGImage,可以继续使用它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM