所以我有这个跟踪你的速度和高度的应用程序。我有一个UILabel,显示你当前的速度和当前的高度。我想要做的是有一个标签,显示最高海拔和最高速度。所以基本上如果你跑步并且你的速度达到5英里/小时,最大标签会说5英里/小时,然后如果达到6英里/小时,最大标签将变为6等等......高度标签也是如此。那我该怎么做呢?
答案 0 :(得分:1)
我假设你有currentSpeed / currentAltitude的浮点值或整数值。有另一组相同的类型,(我将使用int作为我的例子)并将它们命名为maxSpeed / maxAltitude。
并将此代码添加到更新速度的函数中。
if(currentSpeed > maxSpeed){
maxSpeed = currentSpeed;
maxSpeedLabel.text = [NSString stringWithFormat: @"%d mph", maxSpeed];
}
与海拔相同。
编辑:鉴于你的陈述:speedLabel.text = [NSString stringWithFormat:@"%.2f", [location speed]*2.236936284];
以下是更新后的代码:
float currentSpeed = [location speed] * 2.236936284;
if(currentSpeed - maxSpeed >= 0.01){
maxSpeed = currentSpeed;
maxSpeedLabel.text = [NSString stringWithFormat: @"%.2f mph", maxSpeed];
}
此外,现在,currentSpeed和maxSpeed都是浮点数。请注意,我在这里使用了不同类型的比较。因为浮点数具有很高的精度(我们并不总是需要),所以我将你的限制在2位小数。因此,如果文本和maxSpeed的值大于0.01,则只会更新。