SwiftyUserDefaults 是对NSUserDefaults的一些封装和扩展,这个库这个只有一个类,操作起来十分简单方便:
这里只有两个步骤来使用SwiftyUserDefaults:
step 1:自定义你的键
extension DefaultsKeys{ /// 存储用户手机号码 static let userName = DefaultsKey<String?>("username") /// 存储当前定位地区 static let regionName = DefaultsKey<String?>("regionName") }
step 2:开始使用它
//为用户手机号码赋值 Defaults[.userName] = "KangKang" //取值也是十分方便 let userName = Defaults[.userName]
//还有另外一种方法来存储你的键值,就是直接跳过步骤1不扩展DefaultsKeys也可以实现:
var user = Defaults["user"].string //指定键的类型
NSLog("user:\(user)") //因为一开始并没有对user赋值,从控制台可以看到输出结果:user:nil
var userValue = Defaults["userValue"].stringValue //取键的值
NSLog("userValue:\(userValue)") //因为一开始并没有对userValue设置值,从控制台可以看到输出结果:userValue:
// 直接给键赋值
Defaults["users"] = "KangKang"
var getusersValue = Defaults["users"].stringValue
NSLog("getusersValue:\(getusersValue)")//getusersValue:KangKang
//此处若是改成 var getusersValue = Defaults["users"].string //便会输出getusersValue:Optional("KangKang")
//hasKey判断是否存在该key,返回布尔值
if Defaults.hasKey("users"){ NSLog("users 存在") }else{ NSLog("users 不存在") }
//移除指定的key
Defaults.remove("users")
这是我对这个库的一些基本了解,若是出现了错误,望及时指出。你们要是想要了解更多,可以去github看看: https://github.com/radex/SwiftyUserDefaults