切换语句的动态情况(目标c)

时间:2014-10-10 14:28:48

标签: objective-c dynamic switch-statement

我希望这是一个新问题(我还没有找到)。 我的问题是我想在objective-c中做类似的事情:

switch (indexPath.row){
for (int i=0; i < value; i++){
    case i:
    //do something
    break;
}
}

但我发现一个文档说这是不可能的,显然程序不能编译。有没有替代方法或技巧呢?

非常感谢你的帮助

(现在还有我前面忘记的两行)

2 个答案:

答案 0 :(得分:0)

这是不可能的,case只接受const值。

但您可以将此宏用于此目的

#define CASE(arg)                       if (__s__ == (arg)) 
#define SWITCH(s)                       for (int __s__ = (s); ; )
#define DEFAULT   

使用示例

int value = 10;
for (int i = 0; i < value; i++){
    SWITCH(i) {
        CASE (i) {
            break;
        }
        DEFAULT {
            break;
        }
    }
}

答案 1 :(得分:-1)

switch缺失。

for (int i=0; i < value; i++){
    switch (i) {
    case 0:
        //do something
        break;
    }
}