我有两个模型,我们称之为学校和教师 . 模型如下
@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对象中然后我将该对象保存在realm写入闭包中 .
之后,我得到了学校领域的对象,当我得到教师名单时,它总是得到Nil . 怎么回事?
我错过了什么或遗漏了一些东西来理解真正的LIST属性?
请帮忙
Update: This is how I am getting object
let mSavedItems = mDbHelper.realmObj.objects(Schools.self)
if let teachers = mSavedItems[0].teachersList{// here teacher list is nil
}
1 回答
您的
Schools
声明存在缺陷 . 你不应该声明List
是动态的或可变的,也不应该把它变成Optional
. 由于docs明确表示,let listTeachers = List<Teachers>()
是声明多对多关系的正确方法 .Realm
也不支持存储Array
类型的属性,因此您应该删除teachersList : [Teachers]?
属性 .