Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Expected Declaration Error using Swift

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

like image 454
Giancarlo Manuel Guerra Salvá Avatar asked Apr 23 '15 22:04

Giancarlo Manuel Guerra Salvá


People also ask

What is error expected declaration or statement at end of input?

Here, we will learn why an error expected declaration or statement at end of input is occurred and how to fix it? The main cause of this error is – missing closing curly brace (}) of the main() block. How to fix? To fix this and such errors, please take care of curly braces, they are properly opened and closed.

What language is Swift written in?

The Swift compiler is written mostly in C++, and this won't change in the near future. You can extend the standard library using Swift, but if you want to contribute a new language feature or some optimization, you'll need to write C++.


1 Answers

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.

like image 76
Leo Dabus Avatar answered Oct 15 '22 00:10

Leo Dabus