if语句代码警告 - 代码永远不会被执行 - iOS

时间:2015-05-20 19:57:12

标签: objective-c if-statement

我有一个iOS应用程序,其中包含一些不同的if语句。不管Xcode有什么问题,它一直说我的代码永远不会被执行......这很愚蠢....它只是一个if语句,地球是如何不能被执行的。

基本上我的if语句正在检查ID整数,一些数字导致相同的结果,因此我的if语句检查多个数字。

这是我的代码:

if (num == (200 || 201 || 202 || 210 || 211 || 212 || 221 || 230 || 231 || 232)) {
      // Run image type 1 setup here...  
}

else if (num == (300 || 442 || 881 || 882 || 890 || 900)) {
      // Run image type 2 setup here....
}

else-if语句继续。但是出于一些奇怪的原因Xcode实际上认为我的代码不会被执行。

这里的地球做错了什么?

谢谢,Dan。

1 个答案:

答案 0 :(得分:5)

if (num == (200 || 201 || 202 || 210 || 211 || 212 || 221 || 230 || 231 || 232))

与以下内容相同:

if (num == x)

其中x是:

(200 || 201 || 202 || 210 || 211 || 212 || 221 || 230 || 231 || 232)

始终是1.所以你已经写了相同的测试:

if(num == 1)

这也是else if的主题。由于else if除非if为真,否则不能为真,因此永远不会执行。{/ p>

根据case语句落后的事实,执行所需操作的示例switch语句可以是:

switch(num) {
    case 200: case 201: case 202: /* ... etc ... */ case 232:
        // image type 1 here
    break;

    case 300: case 442: /* ... etc ... */
        // image type 2 here
    break;
}