Objective C if 语句中的 NSNumbers

Objective C NSNumbers in if statements

您好,我正在从数组中检索 NSNumber 值(评级,例如 4.3),然后我需要测试该值以分配星级图像。

然而,当我编写 if 语句时,出现错误 "Expected Expression"

代码如下:

if (rating >=1 && <2) {
        return [UIImage imageNamed:@"1starimage"];
    }else if (rating  >=2 && <3){
        return [UIImage imageNamed:@"2starimage"];
    }

感谢您对我如何做到这一点而不会导致错误的任何解释。

第二次比较的左侧缺失 应该是if (rating.floatValue >=1 && rating.floatValue<2)

在具有多个测试值的 if 语句中,您必须为每个比较提供完整的表达式。

所以在您的情况下,您必须执行以下操作:

if ([rating floatValue] >= 1 && [rating floatValue] < 2) {
    return [UIImage imageNamed:@"1starimage"];
} else if ([rating floatValue]  >= 2 && [rating floatValue] < 3){
    return [UIImage imageNamed:@"2starimage"];
}