Pref
示例
要运行示例项目,请首先克隆仓库,然后在 Example 目录中运行 pod install
系统需求
安装
Pref 通过 CocoaPods 提供。要安装它,只需在 Podfile 中添加以下行
pod 'Pref'
Pref 允许您轻松存储自定义对象!
- 存储实现 codable 协议的对象
- 存储实现 codable 协议的数组
如何使用
创建一个实现 codable 协议的对象
class DummyCodableObject: NSObject, Codable {
var name:String!
var lastName:String!
enum CodingKeys: String, CodingKey {
case name
case lastName = "last_name"
}
}
创建一个接受您的对象的 Pref 变量
self.myStoredPref = Pref<DummyCodableObject>(prefs:UserDefaults.standard,key:"StamObject")
如果您需要 defaultValue
self.myStoredPref = Pref<DummyCodableObject>(prefs:UserDefaults.standard,key:"StamObject", defaultValue:DummyCodableObject())
随心所欲的使用它
let myStoredValue: DummyCodableObject = self.myStoredPref.get()
或者存储一个新的值
let newDummyCodableObject = DummyCodableObject()
newDummyCodableObject.name = "Lena"
newDummyCodableObject.lastName = "Bru"
self.myStoredPref.set(newDummyCodableObject)
当对象改变时接收通知
NotificationCenter.default.addObserver(forName: self.myStoredPref.willSetNotificationName, object: nil, queue: OperationQueue.main) { (note) in
let oldValue = note.userInfo?["previousValue"]
let newValue = note.userInfo?["newValue"]
//...
}
NotificationCenter.default.addObserver(forName: self.myStoredPref.didSetNotificationName, object: nil, queue: OperationQueue.main) { (note) in
let newValue = note.userInfo?["newValue"]
//...
}
您甚至可以存储集合
let myCollectionStoredPref = Pref<[DummyCodableObject]>(prefs:UserDefaults.standard,key:"StamObjectArray")
let newDummyCodableObject = DummyCodableObject()
newDummyCodableObject.name = "Lena"
newDummyCodableObject.lastName = "Bru"
myCollectionStoredPref.set([newDummyCodableObject])
作者
pikaboo
许可
偏好的项目遵循MIT许可协议。更多信息请参阅LICENSE文件。