在Objective-C中切换语句和实例变量分配

前端之家收集整理的这篇文章主要介绍了在Objective-C中切换语句和实例变量分配前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在switch语句中创建新的局部变量似乎有问题.我以为这是我的类头文件,但是甚至在尝试分配一个新的NSObject时收到错误.这是我的语法:
-(NSArray *)charactersFromChapter:(NSInteger)number {
    NSObject *noError = [[NSObject alloc] init];
    //line above does not cause error
    NSArray *characters;
    switch (number) {
        case 1:
            NSObject *obj = [[NSObject alloc] init];
            //error happens in line above (Expected expression)
            characters = [NSArray arrayWithObject:obj];
            break;
        case 2:

            break;
        case 3:

            break;
    }
    return characters;
}

解决方法

在switch语句中,您无法初始化变量而不首先设置范围,因此要进行修改,请执行以下操作:
switch (some_expression) {
   case case_1:
   { // notice the brackets
       id some_obj = [MyObj new];
       break;
   }
   default:
       break; 
}
原文链接:https://www.f2er.com/c/115273.html

猜你在找的C&C++相关文章