web-dev-qa-db-fra.com

Erreur de déclaration attendue en utilisant Swift

J'essaie de passer la valeur booléenne d'un UISwitch à une autre classe en utilisant NSUserDefaults. Pour une raison quelconque, dans la classe qui contient les commutateurs, les instructions if qui sont censées définir la valeur sur NSUserDefaults ne peuvent pas lire les déclarations de commutateur.

ViewController.Swift

@IBOutlet var shrimpSwitch: UISwitch!

@IBOutlet var nutSwitch: UISwitch!

@IBOutlet var dairySwitch: UISwitch!

let switchState = NSUserDefaults.standardUserDefaults()


if shrimpSwitch.switch.on{

    switchState.setBool(true, forKey: "shrimpSwitch")
}
else{

    switchState.setBool(false, forKey: "shrimpSwitch")
}

if nutSwitch.on{

    switchState.setBool(true, forKey: "nutSwitch")
}
else{

    switchState.setBool(false, forKey: "nutSwitch")
}

if dairySwitch.on{

    switchState.setBool(true, forKey: "dairySwitch")
}
else{

    switchState.setBool(false, forKey: "dairySwitch")
}

Dans la première instruction If (shrimpSwitch.on), elle indiquera Expected Declaration. Suis-je en train de déclarer les commutateurs tous faux? Toute aide serait appréciée. Merci

Le problème est que vous devez mettre votre code dans une méthode. Tout ce dont vous avez besoin est de le déplacer vers viewDidLoad () ou toute autre méthode.

30
Leo Dabus