gpt4 book ai didi

swift - 如何设置 Realm 模型成员对象的属性?

转载 作者:行者123 更新时间:2023-11-30 12:38:08 24 4
gpt4 key购买 nike

我有一个名为 DiscoverUserInfo 的 Realm 对象:

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''

最佳答案

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

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

}

然后在每次创建新的 DiscoverUserInfo 对象时将 id 设置为关联的 UserObject 的 UserId。

这与 Realm 中没有对复合主键的 native 支持的问题有关。不过,我们预计将来会看到此功能。

关于swift - 如何设置 Realm 模型成员对象的属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42608625/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com