2

我正在尝试为我的数据建模。

我有一个包含 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 不应该知道对象类型吗?还是每次对象类型都不同,所以不能这样做?

4

1 回答 1

3

Realm 需要在初始化时知道​​将链接到的具体对象类型是什么。.

您的content属性应该是另一个领域对象或受支持的属性类型之一。

于 2017-01-19T12:58:41.173 回答