使用Swift在.GlobalPreferences中保存键值对

时间:2015-12-05 16:42:06

标签: swift macos

我正在编写一个简短的Mac应用程序(我们称之为“myApp”),我需要在〜/ Library / Preferences /中读取和写入.GlobalPreferences plist。

对于阅读部分,我使用以下内容并且工作正常:

let boolValue = NSUserDefaults.standardUserDefaults().boolForKey("aKeyInGlobalPreferences")

但是,我在更改同一个键的值时遇到了一些麻烦。我尝试了以下方法:

NSUserDefaults.standardUserDefaults().setBool(true, forKey: "aKeyInGlobalPreferences")
NSUserDefaults.standardUserDefaults().synchronize()

可悲的是,它没有改变.GlobalPreferences中的键值。相反,它创建了一个新的plist com.myName.myApp,其中包含键值对。

如何让我的应用程序写入.GlobalPreferences而不是创建新的plist?

1 个答案:

答案 0 :(得分:1)

您需要使用setPersistentDomain()专门写入全局域。

NSUserDefaults.standardUserDefaults().setPersistentDomain(["aKeyInGlobalPreferences":true],
    forName: NSGlobalDomain)