xcode - 使用 Swift 的预期声明错误

标签 xcode swift nsuserdefaults

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

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)中,它会显示预期声明。我是否宣称这些开关都是错误的?任何帮助,将不胜感激。谢谢

最佳答案

问题是您需要将代码放入方法中。您所需要做的就是将其移动到 viewDidLoad() 或任何其他方法。

关于xcode - 使用 Swift 的预期声明错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49889017/

相关文章:

ios - 字符串不通过 segue?

ios - 应用重启后连接到蓝牙 CBPeripheral

iphone - 具有数千个对象的 NSDictionary 会很慢吗?

iphone - NSCoding with as NSString inside a object

ios - 应用程序在运行存档导出的 .ipa 时崩溃,但可以在模拟器上运行并将应用程序侧面加载到设备上

swift - Xcode 中特定方法的编译时间变慢

ios - 添加 admob (Unity) 后苹果 mach-o 链接器 (id) 错误

Swift Vapor Fluent 更新现有行

iphone - NSUserDefaults 在两个不同的类中为键返回不同的值

iphone - iOS 位置选取器