import SwiftImport
extension User {
@NSManaged var lastName: String?
@NSManaged var name: String?
@NSManaged var userId: NSNumber?
@NSManaged var createdEvents: NSSet?
@NSManaged var homeCity: City?
}
extension User {
override class func mapped() -> [String : String] { // if keys are the same dont need to provide map
return [ "userId" : "id", "lastName" : "last_name", "homeCity" : "home_city", "createdEvents" : "events"]
}
override class func relatedByAttribute() -> String {
return "userId"
}
override class func relatedJsonKey() -> String {
return "id"
}
}
...
do {
let data = //...data from responce or something else
let user = try SwiftImport<User>.importObject <^> JSONObject -<< JSONObjectWithData -<< data <*> context
} catch {
//handle error here (ImportError.InvalidJSON)
}
...
or if u prefer normal sintax ;)
do {
let users = try SwiftImport<User>.importObjects(json)(context: context)
} catch {
handle error
}
SwiftImport is available through CocoaPods. To install it, simply add the following line to your Podfile:
pod "SwiftImport"
- Use Runes
sshulga, sergdort@gmail.com
SwiftImport is available under the MIT license. See the LICENSE file for more info.