Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/119.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 使用Alamofire、ObjectMapper和Realm从json映射数据库中包含的领域对象_Ios_Swift_Swift3_Realm_Objectmapper - Fatal编程技术网

Ios 使用Alamofire、ObjectMapper和Realm从json映射数据库中包含的领域对象

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

我使用Realm、ObjectMapper和Alamofire从服务器获取数据,从json映射数据,并作为RealmObjects存储在数据库中

我有一个如下所示的用户类:

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"}
}