objective-c - 如何将 [数组计数] 粘贴到 case :

标签 objective-c ios arrays switch-statement

我有开关。其中一种情况必须是数组计数:

    int count = [array count];
    switch (someValue) {
        case 0:
            [self foo];
            break;
        case count:
            [self bar];
            break;

        default:
            break;
    }

但是编译器告诉:

Expression is not an integer constant expression

如何从[数组计数]生成const int?

最佳答案

正如错误所示,所有情况都必须是常量。您需要一个 if 语句来检查动态情况:

    int count = [array count];
    switch (someValue) {
        case 0:
            [self foo];
            break;
        default:
            if (someValue == count)
                [self bar];
            break;
    }

关于objective-c - 如何将 [数组计数] 粘贴到 case :,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11653465/

相关文章:

iphone - 计算两个日期之间的差异的问题

ios - UITableView contentOffset 行为异常

ios - Flutter - 使用 google_sign_in 库时找不到 <Flutter/Flutter.h>

python - 反向展平 numpy 数组?

arrays - 如何检查二维数组中是否有两个相同的对象

ios - 如何强制动画在循环中按顺序执行?

objective-c - 询问 Cocoa/Objective-C 中的热键

ios - Facebook SDK FBLoginView

ios - XCode 5 中无法访问远程 Git 存储库

使用日志函数(没有 math.h)和数组计算 C 中的字母表