当我打开一个开关时,我试图用我从其他一个页面存储在NSUserDefaults变量中的文本填充文本字段。当我打开开关时,我收到“无法识别的选择器发送到实例”的错误消息。这是我的代码,它给了我错误。 gamesListText是我已经有数据的NSUserDefaults变量。
{{1}}
我看过其他人发现这个错误,但没有一个真正适用于我的特殊情况,而且他们都是过时的问题。
答案 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
类型。