2017-03-05 66 views
0

我有一个境界对象调用DiscoverUserInfo如何设置领域模型的成员对象的属性?

class DiscoverUserInfo: Object , Mappable{ 

    dynamic var UserObject:User? 
    dynamic var ConnectionStatus:Int = -1 
    var PreviousMeetings = List<Meeting>() 

    required convenience init?(map: Map) { 
     self.init() 
    } 

    override class func primaryKey() -> String? { return "UserObject.UserId" } 

} 

现在对于这一点,我想设置一个主键这是UserObjectUserId

但是当我运行此代码,我得到这个错误:

Terminating app due to uncaught exception 'RLMException', reason: 'Primary key property 'UserObject.UserId' does not exist on object 'DiscoverUserInfo''

回答

0

你不能设置使用动态变量的属性主键。你必须做这样的事情:

class DiscoverUserInfo: Object , Mappable{ 

    dynamic var UserObject: User? 
    dynamic var id = "" 
    dynamic var ConnectionStatus:Int = -1 
    var PreviousMeetings = List<Meeting>() 

    required convenience init?(map: Map) { 
    self.init() 
    } 

override class func primaryKey() -> String? { 
    return "id" 
    } 

} 

,然后ID创建一个新的DiscoverUserInfo对象每次都设置到相关UserObject的用户ID。

这与在Realm中没有对复合主键的本机支持的问题有关。不过,我们期望看到这个功能在路上。

相关问题