任何人都知道这不起作用(静态成员min不能在扩展名中的Type CGFloat.的实例上使用.
extension CGFloat { mutating func normalize() { self = min(max(CGFloat(0),self),CGFloat(1)) } }
这虽然有效
let f: CGFloat = CGFloat(0.4) let maxValue = max(f,1)
您可以通过指定Swift.min和Swift.max来实现此目的:
extension CGFloat { mutating func normalize() { self = Swift.min( Swift.max(CGFloat(0),CGFloat(1)) } }
当使用min和max时,不确定你的意思是CGFloat.min还是Swift.min