2015-06-29 9 views
5

Ich möchte einen Schalter auf meinem 3 Fällen machen, aber ich erhalte eine Fehlermeldung ich nicht lösen kann:Switch-Fehler: Erwarteter Mitgliedsname oder Konstruktoraufruf - was ist falsch?

Fehler: Erwartete Mitgliedsnamen oder Konstruktoraufruf nach Typnamen

Es muss sein etwas, das ich übersehen habe, da ich bereits ähnlichen Code verwendet habe. Aber jetzt habe ich fast ein leeres Projekt und kann nicht herausfinden, was los ist?

import UIKit 

class ViewController: UIViewController { 

enum MyStateStatus { 
    case Ready 
    case Running 
    case Stopped 
} 

@IBAction func actionPressed(sender: UIButton) { 

    switch MyStateStatus { 
    case MyStateStatus.Ready: 
     print("I'm ready") 
    default: 
     print("other") 
    } 
} 

Ich bin mit Swift, Xcode 6.3.2

UPDATE: Ersetzte println() mit print() für Swift 2.2 und Xcode 7-Kompatibilität.

Antwort

4

In Ihrem Beispiel wenden Sie den Schalter auf die enum-Deklaration selbst an, aber Sie müssen ein Objekt umschalten, das einen der möglichen enum-Werte enthält.

Zum Beispiel:

var currentState: MyStateStatus = .Ready 

@IBAction func actionPressed(sender: UIButton) { 
    switch currentState { 
    case .Ready: 
     println("I'm ready") 
    default: 
     println("other") 
    } 
}