领域列表 属性 未保存数据
Realm list property not saving data
我有两个模型,我们称它们为学校和教师。型号如下
@objcMembers public class Schools : Object {
dynamic var Id : String = ""
dynamic var UserId : Int64 = 0
dynamic var Name : String? = ""
dynamic var listTeachers : List<Teachers>? = nil
dynamic var teachersList : [Teachers]? = []
}
@objcMembers public class Teachers : Object {
dynamic var Id : String = ""
dynamic var UserId : Int64 = 0
dynamic var Name : String? = ""
}
现在在保存数据之前,我将 Teachers 对象(列表)放入 School 对象中,然后将该 School 对象保存在 realm write 闭包中。
在那之后我只得到学校领域对象,当我得到教师列表时,它总是得到 Nil。怎么回事?
我是漏掉了什么还是漏掉了什么来理解真正的 LIST 属性??
请帮忙
更新:这就是我获取对象的方式
let mSavedItems = mDbHelper.realmObj.objects(Schools.self)
if let teachers = mSavedItems[0].teachersList{// here teacher list is nil
}
您的 Schools
声明有缺陷。您不应将 List
声明为动态或可变的,也不应将其声明为 Optional
。正如 docs 明确指出的那样,let listTeachers = List<Teachers>()
是声明多对多关系的正确方法。
存储 Array
类型的 属性 也不被 Realm
支持,因此您应该删除 teachersList : [Teachers]?
属性.
@objcMembers public class Schools : Object {
dynamic var Id : String = ""
dynamic var UserId : Int64 = 0
dynamic var Name : String? = ""
let listTeachers = List<Teachers>()
}
我有两个模型,我们称它们为学校和教师。型号如下
@objcMembers public class Schools : Object {
dynamic var Id : String = ""
dynamic var UserId : Int64 = 0
dynamic var Name : String? = ""
dynamic var listTeachers : List<Teachers>? = nil
dynamic var teachersList : [Teachers]? = []
}
@objcMembers public class Teachers : Object {
dynamic var Id : String = ""
dynamic var UserId : Int64 = 0
dynamic var Name : String? = ""
}
现在在保存数据之前,我将 Teachers 对象(列表)放入 School 对象中,然后将该 School 对象保存在 realm write 闭包中。
在那之后我只得到学校领域对象,当我得到教师列表时,它总是得到 Nil。怎么回事?
我是漏掉了什么还是漏掉了什么来理解真正的 LIST 属性??
请帮忙
更新:这就是我获取对象的方式
let mSavedItems = mDbHelper.realmObj.objects(Schools.self)
if let teachers = mSavedItems[0].teachersList{// here teacher list is nil
}
您的 Schools
声明有缺陷。您不应将 List
声明为动态或可变的,也不应将其声明为 Optional
。正如 docs 明确指出的那样,let listTeachers = List<Teachers>()
是声明多对多关系的正确方法。
存储 Array
类型的 属性 也不被 Realm
支持,因此您应该删除 teachersList : [Teachers]?
属性.
@objcMembers public class Schools : Object {
dynamic var Id : String = ""
dynamic var UserId : Int64 = 0
dynamic var Name : String? = ""
let listTeachers = List<Teachers>()
}