我很抱歉,但我是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不会让我构建应用程序。
感谢您的帮助
答案 0 :(得分:4)
您正在对字符串使用算术运算。这肯定没有意义
从文本字段输入
创建一个浮点数if ([_label3.text floatValue] >= 20.0) {_label4.text = @"0";}
你必须改变第一和第二个分支,最后一个永远不会被调用,好像它是真的,第一个也是真的。
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";}
答案 1 :(得分:2)
label.text是字符串值,你不能将字符串与int进行比较。将字符串更改为int,然后像这样比较
if([_label3.text intValue] >= 20){
_label4.text = @"0";
}
希望这有帮助。