领域列表属性未保存数据

时间:2018-09-19 09:20:34

标签: ios iphone swift realm realm-list

我有两个模型,可以将它们称为学校和教师。模型如下

@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对象保存在域写关闭中。

之后,我仅获得School领域对象,当我获得“教师”列表时,它始终为Nil。是什么情况?

我是否缺少某些内容或缺少某些内容以了解真正的LIST属性?

请帮助

更新:这就是我获取对象的方式

let mSavedItems = mDbHelper.realmObj.objects(Schools.self)

if let teachers = mSavedItems[0].teachersList{// here teacher list is nil
  } 

1 个答案:

答案 0 :(得分:3)

您的Schools声明有缺陷。您不应将List声明为动态或可变的,也不应将其设置为Optionaldocs清楚地指出,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>()
}