简单的if语句?

时间:2013-08-25 00:52:42

标签: objective-c if-statement

我有一个简单的if语句,涉及4个UIImageViews,我想检测所有4个nil触发的东西。它工作正常,但我收到一条警告说“表达结果未使用”。

if (shapeImage1, shapeImage2, shapeImage3, shapeImage4 == nil){   
    NSLog(@"Hello, friend.");    
}

4 个答案:

答案 0 :(得分:4)

逗号运算符丢弃第一个结果(意味着除了最后一个实际测试之外的所有结果),因此您需要测试每个实例:

if (!shapeImage1 && !shapeImage2 && !shapeImage3 && !shapeImage4) {
    NSLog(@"Hello, friend.");
}

答案 1 :(得分:1)

当您在C(或Objective-C)中使用逗号时,您将制作四种不同的表达式。在这种情况下,if语句中只有其中一个值实际上是使用。你想要的是使用||(OR)运算符,如下所示:

if (shapeImage1 == nil || shapeImage2 == nil || shapeImage3 == nil || shapeImage4 == nil) {
    NSLog(@"Hello, friend.");
}

您可以进一步优化:

if (!shapeImage1 || !shapeImage2 || !shapeImage3 || !shapeImage4) {
    NSLog(@"Hello, friend.");
}

答案 2 :(得分:0)

我不是目标C的专家,但为什么不这样做:

if (shapeImage1 == nil && shapeImage2 == nil && shapeImage3 == nil && shapeImage4 == nil)
{

    NSLog(@"Hello, friend.");

}

答案 3 :(得分:0)

这只是检查UIImageView shapeImage4 是否为零。如果你想检查它们是否都是零,请尝试:

if((shapeImage1 == nil) && (shapeImage2 == nil) && (shapeImage3 == nil) && (shapeImage4 == nil)){
    NSLog(@"Hello, friend.");
}

希望有所帮助!