Usm*_*ved 6 core-data ios swift objectmapper
让我从问题的背景开始.
我有一个Person用于解析JSON响应的类
class Person: NSObject, Mappable {
var ID : String?
var firstName : String?
var lastName : String?
convenience required init?(map: Map) {
self.init()
}
func mapping(map: Map) {
patientsCount <- map["patientsCount"]
status <- map["status"]
message <- map["Message"]
patientSearchArray <- map["patientsList_JSON"]
}
}
Run Code Online (Sandbox Code Playgroud)
而在另一方面,我有另一个PersonMO用于保存记录的类名CoreData
@objc(Event)
class PersonMO: NSManagedObject {
@NSManaged var ID : String?
@NSManaged var firstName : String?
@NSManaged var lastName : String?
}
Run Code Online (Sandbox Code Playgroud)
现在谈到要点.我面临的问题是我必须为一个目的创建两个不同的类.就像当JSON谈到形式Server Side那么我必须把它解析为Person类,然后我想的是保存Person到Core Data了,我要转换Person类对象PersonMO类对象.这似乎是一种不好的做法.有没有办法只使用一个类Person将用于解析JSON,同时我想使用Person该类在Core Data中存储数据.
像这样的单个Person类应该足够了,可以满足这两种情况。
class Person: NSManagedObject, Mappable {
@NSManaged var ID : String?
@NSManaged var firstName : String?
@NSManaged var lastName : String?
convenience required init?(map: Map) {
self.init()
}
func mapping(map: Map) {
patientsCount <- map["patientsCount"]
status <- map["status"]
message <- map["Message"]
patientSearchArray <- map["patientsList_JSON"]
}
}
Run Code Online (Sandbox Code Playgroud)
NSManagedObject是 的子类NSObject,因此它可以像具有 Mappable 的 Person 类一样使用。@NSManaged表示它由 CoreData 管理,但仍然可以像普通变量一样使用。
| 归档时间: |
|
| 查看次数: |
1361 次 |
| 最近记录: |