gpt4 book ai didi

swift - RLM 异常 : Object type does not match RLMArray type

转载 作者:搜寻专家 更新时间:2023-11-01 05:53:16 25 4
gpt4 key购买 nike

我有一个简单的对象:

class MyObject : Object {
dynamic var dummyField: String!;
}

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

class MyOtherObject : MyObject {
dynamic var anotherDummyField: String!;
}

现在我执行以下操作。我有一个 MyObject 的 Realm 列表,我创建了一个 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!
}
}

它因错误而崩溃:

Terminating app due to uncaught exception 'RLMException', reason: 'Object type 'MyOtherObject' does not match RLMArray type 'MyObject'.'

因为 MyOtherObjectMyObject 的子类,所以我不明白为什么此时应用会崩溃并显示此错误消息。

最佳答案

Realm List 不是协变的。您只能在其中存储完全声明类型的对象。

关于swift - RLM 异常 : Object type does not match RLMArray type,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39923361/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com