OneStore
一个干净的API的NSUserDefaults单值代理。
使用OneStore...
- 为每个NSUserDefaults值创建一个代理(一个
OneStore
对象)。 - 支持多个NSUserDefaults和命名空间,使用
Stacks
。
示例
基本
let name = OneStore<String>("name")
let age = OneStore<Int>("age")
name.value = "muukii"
age.value = 18
指定Stack
let stack = Stack(userDefaults: NSUserDefaults(suiteName: "group.me.muukii.Fil")!, namespace: "me")
let name = OneStore<String>("name", stack: stack)
let age = OneStore<Int>("age", stack: stack)
name.value = "muukii"
age.value = 18
删除对象
let name = OneStore<String>("name", stack: stack)
name.value = nil
删除命名空间上的所有对象
let stack = Stack(userDefaults: NSUserDefaults.standardUserDefaults(), namespace: "me")
let name = OneStore<String>("name", stack: stack)
stack.removeAllObjectsOnNamespace()
/* or */
name.stack.removeAllObjectsOnNamespace()
真实世界示例
enum Me {
static let name = OneStore<String>("name", stack: Me.stack)
static let age = OneStore<Int>("age", stack: Me.stack)
private static let stack = Stack(userDefaults: NSUserDefaults.standardUserDefaults(), namespace: "me")
}
Me.name.value = "muukii"
要求
Swift 3.0
安装
OneStore可以通过CocoaPods获取。要安装它,只需将以下行添加到您的Podfile中
pod "OneStore"
作者
muukii, [email protected]
许可协议
OneStore可在MIT许可下使用。更多信息请参阅LICENSE文件。