Свойство протокола разрешено с Realm?

Я пытаюсь смоделировать свои данные.

У меня есть класс, содержащий необязательное свойство типа ExcerciseContent.

import RealmSwift

class Excercise: Object {
  var content: ExcerciseContent? 
}

Идея состоит в том, что упражнение содержит контент, продолжительность и одно из двух: аудио или текст.

protocol ExcerciseContent {
  var duration: Int { get }
}

protocol AudioExcerciseContent: ExcerciseContent {
  var audio: String { get }
}

protocol TextExcerciseContent: ExcerciseContent {
  var text: String { get }
}

Я нашел аналогичный вопрос, однако мне хотелось бы знать, применимо ли это все еще, и что означает ответ под "Realm Needs чтобы узнать, к какому конкретному типу объекта будет привязана ссылка во время инициализации».

Я объявил протокол, разве Realm не должен знать тип объекта? Или дело в том, что тип объекта может каждый раз быть другим, и поэтому этого нельзя делать?


person amariduran    schedule 18.01.2017    source источник


Ответы (1)