Pref 0.1.5

Pref 0.1.5

Lena Brusilovski 维护。



Pref 0.1.5

  • pikaboo

Pref

CI Status Version License Platform

示例

要运行示例项目,请首先克隆仓库,然后在 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文件。