使用Swift的预期声明错误

Gia*_*lvá 16 xcode nsuserdefaults swift

我试图将a的布尔值传递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")
}
Run Code Online (Sandbox Code Playgroud)

在第一个If语句(shrimpSwitch.on)中,它将说明预期声明.我是否宣布开关都错了?任何帮助,将不胜感激.谢谢

Leo*_*bus 30

问题是您需要将代码放在方法中.您只需将其移动到viewDidLoad()或任何其他方法.