Ios 使用Alamofire、ObjectMapper和Realm从json映射数据库中包含的领域对象
我使用Realm、ObjectMapper和Alamofire从服务器获取数据,从json映射数据,并作为RealmObjects存储在数据库中 我有一个如下所示的用户类:Ios 使用Alamofire、ObjectMapper和Realm从json映射数据库中包含的领域对象,ios,swift,swift3,realm,objectmapper,Ios,Swift,Swift3,Realm,Objectmapper,我使用Realm、ObjectMapper和Alamofire从服务器获取数据,从json映射数据,并作为RealmObjects存储在数据库中 我有一个如下所示的用户类: class User:Object, Mappable{ dynamic var exId = "" dynamic var user = "" dynamic var password = "" dynamic var participant:Participant? = Particip
class User:Object, Mappable{
dynamic var exId = ""
dynamic var user = ""
dynamic var password = ""
dynamic var participant:Participant? = Participant()
convenience init (exId: String, user: String, password:String, participant:Participant) {
self.init()
self.exId = exId
self.user = user
self.password = password
self.participant = participant
}
required convenience init?(map: Map) {
self.init()
}
// Mappable
func mapping(map: Map) {
exId <- map["id"]
user <- map["name"]
password <- map["password"]
participant <- map["participantId"]
}
}
获取参与者对象的最佳方法是什么,可能是在init方法中
(我知道这个例子不是最好的,但它可以应用到很多环境中,)在同一个网络呼叫的响应中,您是否同时收到用户和参与者?如果没有,这两个电话是否在随后?这是一个重要的细节,因为无论您是否必须使用匹配的
id
从Realm获取现有的Participant
对象,或者如果您只需要将其存储在一个局部变量中,这都非常重要。我首先接收参与者,然后当用户登录时,使用参与者id的响应,所以我的问题是,从id中获取参与者的最佳位置在哪里。我猜是在init方法中……在同一网络呼叫的响应中,您是否同时接收到用户和参与者?如果没有,这两个电话是否在随后?这是一个重要的细节,因为无论您是否必须使用匹配的id
从Realm获取现有的Participant
对象,或者如果您只需要将其存储在一个局部变量中,这都非常重要。我首先接收参与者,然后当用户登录时,使用参与者id的响应,所以我的问题是从id中获取参与者的最佳位置在哪里。我猜它在init方法中。。。
class Participant:Object, Mappable{
dynamic var exId = ""
@objc dynamic var name = ""
convenience init(exId:String, name:String) {
self.init()
self.exId = exId
self.name = name
}
required convenience init?(map: Map) {
self.init()
}
// Mappable
func mapping(map: Map) {
exId <- map["id"]
name <- map["name"]
}
}
{"user":{
"id":"123456EEC",
"name":"user",
"pass":"1234",
"participantId":"123EEF"}
}