【发布时间】:2014-07-21 03:35:30
【问题描述】:
我有一个按钮shuffleButton,您可以单击它来切换随机播放。
由于我喜欢在应用关闭时存储该属性,因此我将自定义属性 selected(一个 Bool)从 shuffleButton 绑定到用户默认值。
shuffleButton.bind("selected", toObject: NSUserDefaultsController.sharedUserDefaultsController(), withKeyPath: "values.shuffle", options: nil)
不过,这只适用于一种方式。如果我设置用户默认属性,按钮就会更新。
NSUserDefaults.standardUserDefaults().setValue(true, forKey: "shuffle")
// test it out
println(NSUserDefaults.standardUserDefaults().valueForKey("shuffle"))
=> 1
println(shuffleButton.selected)
=> true
但如果我更新按钮上的selected 属性,用户默认值不会更新。
shuffleButton.selected = true
// test it out
println(NSUserDefaults.standardUserDefaults().valueForKey("shuffle"))
=> 0
println(shuffleButton.selected)
=> true
知道为什么吗? Swift Bool 值是否未正确桥接到 Objective-C?
【问题讨论】: