【问题标题】:How do I add a subclass to a List<superclass> in Realm Swift如何在 Realm Swift 中将子类添加到 List<superclass>
【发布时间】:2015-12-10 00:40:00
【问题描述】:

我有一个名为 Thing 的超类(我知道它不是特定的),它继承自 Object:

class Thing: Object {
    dynamic var title: String = ""

    var parents: [Thing] {
        return linkingObjects(Thing.self, forProperty: "children")
    }

    let children = List<Thing>()
}

以及它的两个子类,称为 Task 和 Thought。

但是,当我这样做时

someThing.children.append(Task())

它抛出“对象类型不正确。”

我做错了什么?领域是否不允许超类列表中的子类,因为这没有多大意义。

【问题讨论】:

  • 你尝试过 someThing.children.append(Task() as Thing) 吗?
  • 是的,它仍然崩溃并出现同样的错误
  • 您是否尝试将let children 更改为var children

标签: ios swift realm realm-list


【解决方案1】:

目前,Realm 的继承映射还不支持多态。您将需要具有具体子类作为通用参数的专用列表,或者需要完全不同的继承映射方法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-14
    • 2023-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多