Dăn*_*ian 10 nsuserdefaults ios swift
我创建了appGroups并确实NSUserDefaults
使用该组进行了设置.我有一个观察者,当值改变时不会触发该观察者.
let defaults = NSUserDefaults(suiteName: "group.daniesy.text")!
defaults.addObserver(self, forKeyPath: "temp", options: NSKeyValueObservingOptions.New, context: nil)
defaults.setBool(!defaults.boolForKey("temp"), forKey: "temp")
defaults.synchronize()
override func observeValueForKeyPath(keyPath: String, ofObject object: AnyObject, change: [NSObject : AnyObject], context: UnsafeMutablePointer<Void>) {
println("changed")
}
Run Code Online (Sandbox Code Playgroud)
但是,如果我忽略appGroup并使用NSUserDefaults.standardUserDefaults()
它按预期工作.知道为什么它不起作用吗?
尝试添加 suitename 而不是初始化。如果您想共享数据,请设置应用程序组
let defaults = NSUserDefaults.standardUserDefaults()
defaults.addSuiteNamed("group.daniesy.text")
defaults.addObserver(self, forKeyPath: "temp", options: NSKeyValueObservingOptions.New, context: nil)
defaults.setBool(!defaults.boolForKey("temp"), forKey: "temp")
defaults.synchronize()
override func observeValueForKeyPath(keyPath: String, ofObject object: AnyObject, change: [NSObject : AnyObject], context: UnsafeMutablePointer<Void>) {
println("changed")
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2444 次 |
最近记录: |