Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/44.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 开关箱有问题_Iphone_Objective C_Switch Statement - Fatal编程技术网

Iphone 开关箱有问题

Iphone 开关箱有问题,iphone,objective-c,switch-statement,Iphone,Objective C,Switch Statement,我正在动态创建UIView并在其中添加scrollview。我想要的是创建多个ScrollView,并使用SwitchCase添加它们 我在UIView上的按钮的iAction上传递一个名为num的整数值。并调用函数来创建滚动视图 -(IBAction) button1pressed{ num = 1; NSLog(@"value %d",num); } 我有6个像这样的iBaction,num的值从1到6不等。我想切换num的值 -(void)add_scrollview{

我正在动态创建UIView并在其中添加scrollview。我想要的是创建多个ScrollView,并使用SwitchCase添加它们

我在UIView上的按钮的iAction上传递一个名为num的整数值。并调用函数来创建滚动视图

-(IBAction) button1pressed{
    num = 1;
    NSLog(@"value %d",num);
}
我有6个像这样的iBaction,num的值从1到6不等。我想切换num的值

-(void)add_scrollview{
    Switch(num) {
        Case:1 {
            NSLog(@"case 1 executed");              
            break;      
        }
        Case:2 {
            NSLog(@"case 2 executed");
            break;
        } 
        Case :3 {
            NSLog(@"case 3 executed");
            break;
        }
        default:{
            break;
        }
    }
}

每次我单击一个按钮,它都会获取相应的“num”值并执行切换。但是,当我单击另一个按钮时,它没有切换num的值。它采用num以前的值。

大小写和开关都应该是小写。正确的语法是

case 1: {
}
不是

如果它仍然不起作用,我会用num向您的方法添加一个参数,而不是将其作为属性

-(void)add_scrollviewWithId:(int) id;

不是要发动一场圣战,但堆栈溢出代码格式似乎更喜欢空格而不是制表符……这是否准确地反映了代码?如果是这样,它甚至不应该编译。“Switch”和“Case”不应大写,并且Case标签位于冒号之前,而不是后面(例如,“1:,而不是“:1”)。除此之外,样本太少。似乎没有足够的代码来说明发生了什么。请创建并发布一个最小的测试用例:它应该尽可能短,但足够完整和自包含的代码,并且应该遇到与您尝试调试的代码相同的问题。outis所说的是非常好的建议。这是解决问题的最好办法。
-(void)add_scrollviewWithId:(int) id;