一个轻量级的工具包,用于保存应用程序或特定用户设置。
如果您要保存特定用户的设置,则首先需要注册用户
MFUserDefaults.sharedInstance().register("John")
如果您仅使用此工具包保存与应用程序设置无关的设置(与用户系统中任何账户无关),则无需配置,但在此情况下,您始终应注意设置 isSharedDefault 参数为 true,否则您将得到一个意外的结果。
保存与当前用户无关的值,例如,您可能希望记住应用程序安装的日期
MFUserDefaults.sharedInstance.setDate(NSDate(), forKey: "DateInstalled", isSharedDefault: true)
// or
MFUserDefaults.sharedInstance["DateInstalled", true] = NSDate()
isSharedDefault 是一个可选参数,默认值为 false。如上所述,如果您正在保存与用户无关的属性,则应显式将其设置为 true。
保存指定用户的姓名
// MFUserDefaults.sharedInstance.registerUser("john") should already invoked
MFUserDefault.sharedInstance.setString("John Snow", forKey: "name")
// Or
MFUserDefault.sharedInstance.setString("John Snow", forKey: "name", isSharedDefault: false)
// Or
MFUserDefaults.sharedInstance["name", false] = "John Snow"
保存指定用户的年龄
MFUserDefaults.sharedInstance.setInteger(25, forKey: "age")
// Or
MFUserDefaults.sharedInstance.setInteger(25, forKey: "age", isSharedDefault: false)
// Or
MFUserDefaults.sharedInstance["age", false] = 25
注意:与 NSUserDefaults 类似,MFUserDefaults 并不会立即将内存中的默认值写入磁盘,如果您想写入的话可以调用 synchronize 方法。synchronize 方法在合适的时间自动调用,使内存缓存与用户的 defaults.plist 文件保持同步。
获取值的方式也非常直观
获取应用程序安装的日期
let date = MFUserDefaults.sharedInstance.dateForKey("DateInstalled", isSharedDefault: true)
\\ or
let date = MFUserDefaults.shareInstance["DateInstalled", true] as? NSDate
获取当前用户的姓名
let name = MFUserDefaults.shareInstance.stringForKey("name")
or
let name = MFUserDefaults.shareInstance.stringForKey("name", isSharedDefault: false)
or
let name = MFUserDefaults.shareInstance["name", false] as? String
获取当前用户的年龄
let age = MFUserDefaults.shareInstance.integerForKey("age")
or
let age = MFUserDefaults.shareInstance.integerForKey("age", isSharedDefault: false)
or
let age = MFUserDefaults.shareInstance["age", false] as? Int
yebw, [email protected]
MFUserDefaults 在 MIT 许可证下可用。有关更多信息,请参阅 LICENSE 文件。