Swift UIImage 与 CGImage 是否等效?
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()
是一个真正的方法或者它 returns.
是什么东西
在实际代码的第一行,我正在处理 AssetLibrary 框架没有内存管理信息的事实;除非你以某种方式解决这个问题,否则你无法在 Swift 中继续。
所以,在下一行我们得到了一个实际的 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()
是一个真正的方法或者它 returns.
在实际代码的第一行,我正在处理 AssetLibrary 框架没有内存管理信息的事实;除非你以某种方式解决这个问题,否则你无法在 Swift 中继续。
所以,在下一行我们得到了一个实际的 CGImage,可以继续使用它了。