为什么.applying(transform)未解决? 还有为什么没有imageByApplying了呢?
let output = filter?.outputImage?.applying(transform)
if (output != nil) {
return UIImage(CIImage: output!)
}
return nil;
}
答案 0 :(得分:1)
永远不要检查nil
然后强行打开包装。只需使用条件绑定:
if let output = filter?.outputImage?.applying(transform) {
return UIImage(CIImage: output)
}
return nil;
}
或者,如果你真的想得到幻想:
return filter?.outputImage?.applying(transform).map(UIImage.init(CIImage:))
答案 1 :(得分:0)
未解析的标识符可能是UIImage(CIImage
。在Swift 3中它是UIImage(ciImage
更好的可选绑定outputImage
。
如果检查成功,将应用变换(不返回可选项)
if let output = filter?.outputImage {
return UIImage(ciImage: output.applying(transform))
}
return nil
或者更喜欢
guard let output = filter?.outputImage else { return nil }
return UIImage(ciImage: output.applying(transform))
applying(_
是前imageByApplying