今天维护旧项目, 调试时候启动就直接闪退, 并有一下报错信息:
RLMException', reason: 'Primary key property 'identity' does not exist on object 'RealmSwiftPermissionUser''
Realm
继承自 RLMObject
或者 Object
的每个类都必须实现如下方法:
1
2
3
public override class func primaryKey() -> String {
return "Primary key"
}
该方法返回本地存储表内作为 主键
属性的属性名.
报错信息就是讲 RealmSwiftPermissionUser
这个类未设置 identity
为 func primaryKey() -> String
方法的返回值.
全局搜索以下仅仅找到如下一次代码:
1
2
3
4
5
6
7
8
9
// 省略部分代码
@objc(RealmSwiftPermissionUser)
public class PermissionUser: Object {
@objc dynamic public var identity = ""
@objc override public class func primaryKey() -> String {
return "identity"
}
}
@objc(RealmSwiftPermissionUser)
的作用此处不做介绍.
此处已经实现了相关必须方法, 只好更新 Realm
版本.
更新后问题得到解决了.
据网上查找相关内容, 只有 Xcode11
才有闪退的问题, 有遇到相同问题的更新 Realm
版本即可.