Swift switch语句强制写代码块

时间:2017-09-15 09:13:30

标签: swift

我有疑问,我有三个状态的枚举。在3个国家中我想做某事,但对于第3个我不这样做。但是,当我不把代码块放在大小写的情况下,编译器用红色高亮显示它并且不允许我运行app。例如:

func leftBarButtonTappedWithType(type: CustomNavBarViewModel.LeftBarButtonType) {

        switch type {
        case .none:
            print("")

        case .back:
            self.popViewController(animated: true)

        case .hamburger:
            self.func()

        }
    }

你可以看到,对于case.none我写了print("")因为在其他情况下我不能编译。怎么避免呢?有点难看。

1 个答案:

答案 0 :(得分:1)

在这种情况下,让你的函数返回:

case .hamburger:
    return

希望有所帮助。

根据讨论和@MartinR的评论,break可能是退出switch语句的更好的通用解决方案。