使用 Swift 的预期声明错误

Expected Declaration Error using Swift

我正在尝试使用 NSUserDefaultsUISwitch 的布尔值传递给另一个 class。由于某种原因,在包含开关的 class 中,应该将值设置为 NSUserDefaultsif 语句无法读取开关声明。

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() 或任何其他方法即可。