Objective-C 上的 Switch 语句不起作用

Switch statement on Objective-C not working

我刚刚学会了如何使用 switch 语句,我正尝试在我的项目中实现它,但行不通。

int x;
    x = arc4random()%5;

    switch (x) {
        case '0':
            NSLog(@"0");

            break;
        case '1':
            NSLog(@"1");

            break;
        case '2':
            NSLog(@"2");
            break;
        case '3':
            NSLog(@"3");

            break;
        case '4':
            NSLog(@"4");

            break;

        default:

            break;
    }

这是我的代码行,我查看了多个示例,没有发现我的代码有任何问题。

我认为这与它位于 viewDidLoad 内部有关,因为这是我查看的示例与我的代码之间唯一不同的地方。

您正在针对字符而不是整数值进行测试。

您需要使用不带引号的 case 0case 1 等。

去掉撇号,它应该可以正常工作。添加像 case '0': 这样的撇号可以测试字符串输入。像 case 0: 这样写将使其测试整数输入。