Silvery 1.0.1

Silvery 1.0.1

测试已测试
Lang语言 SwiftSwift
许可证 MIT
发布最后发布2016 年 5 月
SPM支持 SPM

Damouse 维护。



Silvery 1.0.1

  • 作者
  • Mickey Barboi

Silvery

Silvery 将键值编码带来原生 Swift 类和结构。您可以使用数组的索引轻松设置和访问属性

var person = Person()
person["name"] = "John"

或者使用更复杂的方发来捕获潜在的错误

var person = Person()
do {
  try person.setValue("John", forKey:"name")
} catch {
  print(error)
}

Silvery 将 Cocoa 风格的键值编码能力带入 Swift。

安装

Silvery 通过 CocoaPods 提供。要安装,只需将以下行添加到您的 podfile 中

use_frameworks!
pod 'Silvery'

确保在您的 .swift 文件顶部导入模块

import Silvery

或者,克隆此仓库或将其作为 zip 文件下载,并将类包含到您的项目中。

使用

要为原生 Swift 结构或类启用键值编码,只需让它遵守 Model 协议

extension Person : Model {}

然后您可以通过键设置和检索模型中的值

person["name"] = "John"
person["age"] = 36
if let id = person["id"] as? Int {
  print(id)
}

如果您想处理潜在的错误,可以使用更详细的方发

do {
  try person.setValue("John", forKey: "name")
  try person.setValue(36, forKey: "age")
  if let id = try person.valueForKey("id") as? Int {
    print(id)
  }
} catch {
  print(error)
}

请注意,您的模型的所有属性都必须遵守 Property 协议,如下所示

extension MyCustomType : Property {}

未显式解包的可选属性将无法正常工作,应避免使用

struct User : Model {
  var id: String
  var email: String! // Will not work as expected and may result in a fatal error if set or accessed
}

在类的情况下,还有一个注意事项。如果您的类从具有私有属性的父类继承,则 Silvery 可能无法按预期工作,可能会失败。

作者

Brad Hilton, [email protected]

许可证

Silvery 受 MIT 许可证保护。有关更多信息,请参阅 LICENSE 文件。