2015-06-29 21 views
5

mi piacerebbe fare un interruttore sul mio 3 casi, ma sto ottenendo un errore non riesco a risolvere:Errore di commutazione: nome del membro previsto o chiamata del costruttore - cosa c'è che non va?

Errore: Previsto nome utente o chiamata al costruttore dopo il nome di tipo

Ci deve essere qualcosa che ho trascurato da quando ho già utilizzato un codice simile. Ma ora ho quasi un progetto vuoto e non riesco a capire cosa c'è che non va?

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") 
    } 
} 

sto usando Swift, Xcode 6.3.2

UPDATE: Sostituito println() con print() per Swift 2.2 e Xcode 7 compatibilità.

risposta

4

Nell'esempio si sta applicando il passaggio alla dichiarazione enum stessa, ma è necessario passare sopra un oggetto che contiene uno dei possibili valori enum.

Ad esempio:

var currentState: MyStateStatus = .Ready 

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