NSUserDefaults.addSuiteNamed()无效

问题描述 投票:1回答:1

我创建了一个应用程序组,以在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

我在这里误解了什么吗?

ios nsuserdefaults
1个回答
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.
最新问题
© www.soinside.com 2019 - 2024. All rights reserved.