激活开关时,使用文本填充文本字段

时间:2015-05-20 02:07:59

标签: swift compiler-errors nsuserdefaults

当我打开一个开关时,我试图用我从其他一个页面存储在NSUserDefaults变量中的文本填充文本字段。当我打开开关时,我收到“无法识别的选择器发送到实例”的错误消息。这是我的代码,它给了我错误。 gamesListText是我已经有数据的NSUserDefaults变量。

{{1}}

我看过其他人发现这个错误,但没有一个真正适用于我的特殊情况,而且他们都是过时的问题。

2 个答案:

答案 0 :(得分:1)

@IBAction func switchActivated(sender: UISwitch) {
    if sender.on {
        gameSearchLabel.text = gameListText
    }
}

在viewDidLoad

gamesListText = NSUserDefaults.standardUserDefaults().stringForKey("gamesListText") ?? ""

答案 1 :(得分:0)

将您的插座重命名为switch以外的其他地方。斯威夫特认为你正试图定义一个switch statement

@IBOutlet weak var switchOutlet: UISwitch!
@IBAction func switchAction(sender: AnyObject) {
    if switchOutlet.on {
        println("switch is ON")
    }
    else {
        println("switch is OFF")
    }
}

此外,在设置/获取stringForKey时,您应该使用objectForKey代替NSUserDefaults,因为您设置/获得String类型。