我有一个简单的对象:
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)
既然MyOtherObject是MyObject我的子类,我无法理解为什么应用程序此时崩溃时出现此错误消息.
| 归档时间: |
|
| 查看次数: |
582 次 |
| 最近记录: |