首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >开关语句和If语句

开关语句和If语句
EN

Stack Overflow用户
提问于 2015-11-28 11:36:44
回答 1查看 96关注 0票数 0

为什么开关大小写不需要多行,如果做得很好

代码语言:javascript
复制
if(indexPath.row == 1){
            UIViewController *viewController = [UIViewController new];
            viewController.view.backgroundColor = [UIColor whiteColor];
            viewController.title = _titlesArray[indexPath.row];
            [self.navigationController pushViewController:viewControlleranimated:YES];
}

无法在switch语句中使用的相同代码

代码语言:javascript
复制
            switch (indexPath.row) {
                case 0:
                    UIViewController *viewController = [UIViewController new];
                    viewController.view.backgroundColor = [UIColor whiteColor];
                    viewController.title = _titlesArray[indexPath.row];
                     [self.navigationController pushViewController:viewControlleranimated:YES];
    break;
                    case 1:
                    break;

                    default
                     break:
}

在开关语句中,它给出了一个错误..。我强制使用if else语句来安装开关箱。有谁能建议我如何使用开关案例的状态。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-11-28 11:39:35

只要没有变量定义,开关将占用多行。任何新的定义都需要附上。因此,这两者都是有效的:

代码语言:javascript
复制
case 0:
{
    UIViewController *viewController = [UIViewController new];
    viewController.view.backgroundColor = [UIColor whiteColor];
    viewController.title = _titlesArray[indexPath.row];
    [self.navigationController pushViewController:viewControlleranimated:YES];
break;
}

代码语言:javascript
复制
UIViewController *viewController;

...

case 0:
    viewController = [UIViewController new];
    viewController.view.backgroundColor = [UIColor whiteColor];
    viewController.title = _titlesArray[indexPath.row];
    [self.navigationController pushViewController:viewControlleranimated:YES];
break;
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33970872

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档