Expected Declaration Error using Swift

2019-01-01 06:22发布

问题:

I\'m trying to pass the boolean value of a UISwitch to another class using NSUserDefaults. For some reason, in the class that contains the switches, the if statements that are supposed to set the value to NSUserDefaults cannot read the switch declarations.

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

In the first If statement(shrimpSwitch.on), it will say Expected Declaration. Am I declaring the switches all wrong? Any help would be appreciated. Thanks

回答1:

The problem is that you need to put your code inside a method. All you need is to move it to viewDidLoad() or any other method.