我尝试从数据库加载用户时收到此错误。
dispatch_async(dispatch_queue_create("background", nil)) {
let realm = try! Realm()
let users = realm.objects(User)
print(users)
}
class User: Object, Mappable {
dynamic var id = 0
dynamic var name = ""
dynamic var userName = ""
required init() {
super.init()
}
// MARK: Mappable
func mapping(map: Map) {
id <- map["Id"]
name <- map["Name"]
userName <- map["UserName"]
}
required init?(_ map: Map) { super.init() }
}
我尝试了实现init方法,但我得到了(使用未声明的标识符RLMObjectSchema):
任何提示?
答案 0 :(得分:1)
当我使用领域时,我只会使用便利初始化。
在你的情况下
class User: Object, Mappable {
dynamic var id = 0
dynamic var name = ""
dynamic var userName = ""
// MARK: Mappable
func mapping(map: Map) {
id <- map["Id"]
name <- map["Name"]
userName <- map["UserName"]
}
convenience init?(_ map: Map) { self.init() }
}
如果你想要实现指定init,你应该实现
init(realm: RLMRealm, schema: RLMObjectSchema) {
super.init(realm: realm, schema: schema)
}
当你实现指定init()
时,swift将不会继承领域所需的其他指定init方法。