RLMException:对象类型与RLMArray类型不匹配

Mul*_*ard 1 realm swift

我有一个简单的对象:

class MyObject : Object {
    dynamic var dummyField: String!;
}
Run Code Online (Sandbox Code Playgroud)

和另一个继承自的对象MyObject:

class MyOtherObject : MyObject {
    dynamic var anotherDummyField: String!;
}
Run Code Online (Sandbox Code Playgroud)

现在我做以下事情.我有一个Realm List,MyObject我创建了一个实例,MyOtherObject并尝试将其保存在列表中:

class Operator {
    internal var myObjects: List<MyObject>!;

    internal var myObject: MyObject!;

    func operate() {
        self.myObject = MyOtherObject();
        self.myObject.dummyField = "dummy field";
        self.myObject.anotherDummyField = "another dummy field";

        self.myObjects = List<MyObject>();
        self.myObjects.append(myObject); // crash!
    }
}
Run Code Online (Sandbox Code Playgroud)

它崩溃了错误:

Terminating app due to uncaught exception 'RLMException', reason: 'Object type 'MyOtherObject' does not match RLMArray type 'MyObject'.'
Run Code Online (Sandbox Code Playgroud)

既然MyOtherObjectMyObject我的子类,我无法理解为什么应用程序此时崩溃时出现此错误消息.

Tho*_*yne 6

领域List不是共存的.您只能在其中存储具有完全声明类型的对象.