加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-16 07:52:46 所属栏目:百科 来源:网络整理
导读:在switch语句中创建新的局部变量似乎有问题.我以为这是我的类头文件,但是甚至在尝试分配一个新的NSObject时收到错误.这是我的语法: -(NSArray *)charactersFromChapter:(NSInteger)number { NSObject *noError = [[NSObject alloc] init]; //line above doe
在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; 
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读