【发布时间】:2017-08-20 05:32:24
【问题描述】:
我想做的是编写一个压缩图像的通用函数。
func compress(image: UIImage, withRatio ratio: CGFloat) -> Data? {
return UIImageJPEGRepresentation(image, ratio)
}
但这里compress() 的ratio 可以是任何CGFloat 值0...∞,但我只想接受0.0...1.0。有没有办法做到这一点?
【问题讨论】:
-
你想要一个 Swift
Range作为参数还是想要在数组参数中传递开始/结束值(比如创建渐变时可以做什么)? -
不,你不能在当前的 Swift 类型系统中表示这样的约束。您可以使用
assert或类似函数进行运行时检查。 -
你可以使用
precondition(0.0...1.0 ~= ratio)
标签: ios swift function swift3 uiimage