web-dev-qa-db-ja.com

Swiftを使用した宣言エラー

UISwitchを使用して、NSUserDefaultsのブール値を別のクラスに渡そうとしています。何らかの理由で、スイッチを含むクラスでは、値をifに設定することになっているNSUserDefaultsステートメントはスイッチ宣言を読み取ることができません。

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

最初のIfステートメント(shrimpSwitch.on)では、Expected Declarationと表示されます。スイッチをすべて間違っていると宣言していますか?任意の助けをいただければ幸いです。ありがとう

問題は、コードをメソッド内に配置する必要があることです。必要なのは、viewDidLoad()または他のメソッドに移動することだけです。

30
Leo Dabus