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

Sup*_*off 0 if-statement objective-c

我有一个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....
}
Run Code Online (Sandbox Code Playgroud)

else-if继续发表声明.但是出于某种奇怪的原因Xcode,我认为我的代码不会被执行.

这里的地球做错了什么?

谢谢,丹.

Tom*_*mmy 5

if (num == (200 || 201 || 202 || 210 || 211 || 212 || 221 || 230 || 231 || 232))
Run Code Online (Sandbox Code Playgroud)

与以下内容相同:

if (num == x)
Run Code Online (Sandbox Code Playgroud)

其中x是:

(200 || 201 || 202 || 210 || 211 || 212 || 221 || 230 || 231 || 232)
Run Code Online (Sandbox Code Playgroud)

这总是1.所以你写了相同的测试:

if(num == 1)
Run Code Online (Sandbox Code Playgroud)

这也是该主题else if.由于else if除非是真的否则不能为真,否则if永远不会执行.


根据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;
}
Run Code Online (Sandbox Code Playgroud)