当前位置:  开发笔记 > 编程语言 > 正文

为什么Xcode告诉我最后一个案例永远不会被执行?

如何解决《为什么Xcode告诉我最后一个案例永远不会被执行?》经验,为你挑选了1个好方法。



1> dasblinkenli..:

fallthrough关键字意味着"在不执行任何额外检查的情况下进入下一个案例..A遇到以下情况时,您的代码将执行以下四种方法:

    someMethodSpecificToA()
    someMethodSpecificToTheseThreeLetters()
    someMethodSpecificToE()
    aMethodIShouldCallOnVowels()

因为它会进入case .A,并一直"堕入" aMethodIShouldCallOnVowels().

由于没有fallthrough.A.E,曾经的第一个实例.B .C .D上达到的情况下switch,它会继续一路.A .E.此时没有进行额外的切换,并且.B .C .D已经通过初始跳转进行了探索.

这就是为什么你的方法不起作用的原因:你需要将你的方法switch分成两个单独的方法,或者为.E和添加一个特殊的情况.A.

switch someEnum {
case .A .E:
    switch someEnum {
    case .A:
        someMethodSpecificToA()
    case .E:     
        someMethodSpecificToE()
    }
    aMethodIShouldCallOnVowels()
case .B, .C, .D:
    someMethodSpecificToTheseThreeLetters()
    aMethodIShouldCallOnAllConsonants()
}

推荐阅读
重庆制造漫画社
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有