Свойство списка областей без сохранения данных - PullRequest
0 голосов
/ 19 сентября 2018

У меня есть две модели, назовем их Школами и Учителями.Модели имеют вид

@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? = ""


   }

, и теперь перед сохранением данных я помещаю объекты Учителя (список) в объект School, а затем сохраняю этот объект School в закрытии записи области.

после этого я просто получаю объект области Школы, и когда я получаю список Учителей, он всегда получает Ноль.В чем дело?

Я что-то упустил или что-то упустил, чтобы понять реальное свойство LIST ??

, пожалуйста, помогите

Обновление: Это яполучение объекта

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

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

1 Ответ

0 голосов
/ 19 сентября 2018

Ваша 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>()
}
...