Swift
Need help with SwiftKVC?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.
bradhilton

Description

Key-Value Coding (KVC) for native Swift classes and structs

126 Stars 21 Forks MIT License 31 Commits 3 Opened issues

Services available

Need anything else?

SwiftKVC

SwiftKVC
brings key-value coding to native Swift classes and structures. You can easily set and access properties just using a subscript:
swift
var person = Person()
person["name"] = "John"
Or use the more verbose method to catch potential errors:
swift
var person = Person()
do {
  try person.set(value: "John", key: "name")
} catch {
  print(error)
}
SwiftKVC
brings the power of Cocoa style key-value coding to Swift.

Installation

SwiftKVC
is available through CocoaPods. To install, simply include the following lines in your podfile:
ruby
use_frameworks!
pod 'SwiftKVC'
Be sure to import the module at the top of your .swift files:
swift
import SwiftKVC
Alternatively, clone this repo or download it as a zip and include the classes in your project.

Usage

To enable key-value coding for a native Swift structure or class, simply have it conform to either

Value
or
Object
respectively:
swift
struct Person : Value {
  var name: String
  var age: Int
}
You can then set and retrieve values from your model by key:
swift
person["name"] = "John"
person["age"] = 36
if let id = person["id"] as? Int {
  print(id)
}
If you would like to handle possible errors, you can use the more verbose methods:
swift
do {
  try person.set(value: "John", key: "name")
  try person.set(value: 36, key: "age")
  if let id = try person.get(key: "id") as? Int {
    print(id)
  }
} catch {
  print(error)
}

Author

Brad Hilton, [email protected]

License

SwiftKVC
is available under the MIT license. See the LICENSE file for more info.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.