NSUserDefaults.addSuiteNamed()无效

时间:2015-03-15 03:04:06

标签: ios nsuserdefaults

我创建了一个应用组来分享iOS应用和扩展程序之间的偏好设置。从任一应用程序,我可以得到一个默认实例,并成功读取和写入这样的值:

let sharedDefaults = NSUserDefaults(suiteName: "group.com.example")
sharedDefaults.setObject("bar", forKey: "foo")
sharedDefaults.stringForKey("foo") // → "bar"

但是,将组的套件名称添加到standardUserDefaults无效:

let standardDefaults = NSUserDefaults.standardUserDefaults()
standardDefaults.addSuiteNamed("group.com.example")
standardDefaults.stringForKey("foo") // → nil

我在这里误解了什么吗?

1 个答案:

答案 0 :(得分:0)

尝试在前三行代码的末尾添加remove Suite方法,并在Xcode中的此行中设置断点。查看您是否从搜索列表中删除了指定的键值对。

let sharedDefaults = NSUserDefaults(suiteName: "group.com.example")
sharedDefaults.setObject("bar", forKey: "foo")
sharedDefaults.stringForKey("foo") // → "bar"
sharedDefaults.removeSuite(suiteName: "group.com.example")//remove suite
//put a breakpoint here.