почему. (не трансформируется)? Также почему больше нет imageByApplying?
let output = filter?.outputImage?.applying(transform)
if (output != nil) {
return UIImage(CIImage: output!)
}
return nil;
}
Неразрешенный идентификатор, вероятно, 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(_
является синтаксисом Swift 3 прежнего imageByApplying
Никогда не проверяйте nil
только тогда, чтобы вывернуть разворот. Просто используйте условную привязку:
if let output = filter?.outputImage?.applying(transform) {
return UIImage(CIImage: output)
}
return nil;
}
Или если вы действительно хотите получить фантазию:
return filter?.outputImage?.applying(transform).map(UIImage.init(CIImage:))