当我尝试返回值时,收到此错误消息。
/Users/MNurdin/Documents/iOS/xxxxx/RangeSlider.swift:76:109: 表达太复杂,无法在合理的时间内解决;考虑 将表达式分解为不同的子表达式
我的代码
var minimumValue: Float = 0.0
var maximumValue: Float = 1.0
var minimumRange: Float = 0.0
var selectedMinimumValue: Float = 0.2
var selectedMaximumValue: Float = 0.8
var distanceFromCenter: Float = 0.0
var _padding: Float = 20
/**/
func xForValue(value: Float){
return (self.frame.size.width-(_padding*2))*((value - minimumValue) / (maximumValue - minimumValue))+_padding; //error here
}
func valueForX(x: Float){
return minimumValue + (x-_padding) / (self.frame.size.width-(_padding*2)) * (maximumValue - minimumValue); //error here
}
请指教。谢谢。
答案 0 :(得分:1)
添加了函数的返回类型,并将CGFloat
投射到Float
func xForValue(value: Float) -> Float {
return (Float(self.frame.size.width) - (_padding * 2)) * ((value - minimumValue) / (maximumValue - minimumValue)) + _padding;
}
func valueForX(x: Float) -> Float {
return minimumValue + (x - _padding) / (Float(self.frame.size.width) - (_padding * 2)) * (maximumValue - minimumValue);
}