gpt4 book ai didi

ios - 在 Switch 语句失败后检查下一个案例的方法?

转载 作者:行者123 更新时间:2023-11-28 09:00:56 25 4
gpt4 key购买 nike

在 Swift 中 fallthrough 之后,有什么方法可以检查下一个案例吗?这似乎是编写简洁代码的好方法。

    case 1...8:

self.correctAnswerLabelOne.text = answerLabelOne?.firstObject as? String
self.correctAnswerLabelOne.alpha = 0.0
self.correctAnswerLabelOne.hidden = false
self.fadeAnimation(self.correctAnswerLabelOne, duration: 0.3, delay: 0.0, alpha: 1.0, options: .CurveEaseIn)

fallthrough

case 2...8:

self.correctAnswerLabelTwo.text = answerLabelTwo?.firstObject as? String
self.correctAnswerLabelTwo.alpha = 0.0
self.correctAnswerLabelTwo.hidden = false
self.fadeAnimation(self.correctAnswerLabelTwo, duration: 0.3, delay: 0.0, alpha: 1.0, options: .CurveEaseIn)

fallthrough

case 3...8:

self.correctAnswerLabelThree.text = answerLabelThree?.firstObject as? String
self.correctAnswerLabelThree.alpha = 0.0
self.correctAnswerLabelThree.hidden = false
self.fadeAnimation(self.correctAnswerLabelThree, duration: 0.3, delay: 0.0, alpha: 1.0, options: .CurveEaseIn)

如果 case 是 3:不必将 case 1case 2 中的代码添加到 case 3 我想激活第一种情况,第二种情况,然后是第三种情况。我可以在每个案例中使用 if 语句,但这似乎不是最好的方法。是否有另一种类型的控制流更适合此目的,还是只需要一直复制代码?

在我看来,在 switch 内部,continue 似乎是触发 Switch 继续其检查 case 语句业务的合乎逻辑的候选者。

更新:

if 语句 添加到预设 fallthrough 中即可完成工作。它仍然没有我预期的那么“优雅”,但它确实有效......

    switch(numberOfAnswers) {

case 1...8:

self.correctAnswerLabelOne.text = answerLabelOne?.firstObject as? String
self.correctAnswerLabelOne.alpha = 0.0
self.correctAnswerLabelOne.hidden = false
self.fadeAnimation(self.correctAnswerLabelOne, duration: 0.3, delay: 0.0, alpha: 1.0, options: .CurveEaseIn)

if numberOfAnswers > 1 {

fallthrough

}

case 2...8:

self.correctAnswerLabelTwo.text = answerLabelTwo?.firstObject as? String
self.correctAnswerLabelTwo.alpha = 0.0
self.correctAnswerLabelTwo.hidden = false

self.fadeAnimation(self.correctAnswerLabelTwo, duration: 0.3, delay: 0.0, alpha: 1.0, options: .CurveEaseIn)

if numberOfAnswers > 2 {

fallthrough

}

最佳答案

如果 switch 语句被反转,你的代码还能工作吗?例如

switch(numberOfAnswers) {

case 2...8:

self.correctAnswerLabelTwo.text = answerLabelTwo?.firstObject as? String
self.correctAnswerLabelTwo.alpha = 0.0
self.correctAnswerLabelTwo.hidden = false

self.fadeAnimation(self.correctAnswerLabelTwo, duration: 0.3, delay: 0.0, alpha: 1.0, options: .CurveEaseIn)

if numberOfAnswers > 2 {

fallthrough

}

case 1...8:

self.correctAnswerLabelOne.text = answerLabelOne?.firstObject as? String
self.correctAnswerLabelOne.alpha = 0.0
self.correctAnswerLabelOne.hidden = false
self.fadeAnimation(self.correctAnswerLabelOne, duration: 0.3, delay: 0.0, alpha: 1.0, options: .CurveEaseIn)

if numberOfAnswers > 1 {

fallthrough

}

那么对每个案例的评估并不重要,因为无论如何,上面案例的范围都包含在下面案例的范围内

关于ios - 在 Switch 语句失败后检查下一个案例的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32042517/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com