切换条件在Swift中计算为常量

Okh*_*bay 6 switch-statement ios swift

我有这个代码

import UIKit

enum menuSituation{
    case menuIsOpened
    case menuIsClosed

}

class ViewController: UIViewController {
    override func viewDidLoad() {
        super.viewDidLoad()

        var currentSituation = menuSituation.menuIsClosed

        switch(currentSituation){ //Here is the warning
        case .menuIsOpened:
            println("Menu is opened")
            break
        case .menuIsClosed:
             println("Menu is closed")
            break

        }    
    }
Run Code Online (Sandbox Code Playgroud)

在我开始定义switch语句的行中,它给出了警告:

切换条件评估为常量

我怎么能摆脱这个警告?

All*_*ian 10

好吧,它基本上意味着交换机将始终评估为menuIsClosed.你可能意味着这样的事情:

var currentSituation = aSituation // That would be a menuSituation (known at runtime)

// Also note that 'break' is not needed in (non-empty) match cases
switch currentSituation {
    case .menuIsOpened:
        println("Menu is opened")
    case .menuIsClosed:
         println("Menu is closed")
} 
Run Code Online (Sandbox Code Playgroud)