-6

对不起,我是 Xcode 和编码的新手。

我试图创建一个 If 语句,以便如果标签 3 = 或大于 20 标签 4 = 0,否则如果低于 20 它 = 1,如果低于 18.5 它 = 2。

这是我的代码:

    if (_label3.text >= @"20") {_label4.text = @"0";}
else if (_label3.text < @"20") {_label4.text = @"1";}
else if (_label3.text <= @"18.5") {_label4.text = @"2";}

我不确定出了什么问题,但我收到此错误“字符串文字的直接比较具有未定义的行为”并且 Xcode 不会让我构建应用程序。

感谢您的帮助

4

2 回答 2

4

您正在对字符串使用算术运算。这肯定是没有意义的

从文本字段输入创建一个浮点数

if ([_label3.text floatValue] >= 20.0) {_label4.text = @"0";}

因为你必须改变第一个和第二个else分支,最后一个永远不会被调用,好像它是真的一样,第一个也是真的。


float value = [_label3.text floatValue];

if (value > 20.0) {_label4.text = @"0";}
else if (value  <= 18.5) {_label4.text = @"2";}
else if (value < 20.0) {_label4.text = @"1";}
于 2013-09-08T11:15:49.577 回答
2

label.text 是字符串值,您不能将字符串与 int 进行比较。将字符串更改为 int 然后像这样比较

if([_label3.text intValue] >= 20){
   _label4.text = @"0";
}

希望这可以帮助。

于 2013-09-08T11:15:19.497 回答