Swift ObjectMapper:映射从基础对象

时间:2017-03-15 14:22:18

标签: swift objectmapper

我有一个像这样的基本父对象:

class A: Mappable {
    var x: String!
    ...
}

两个孩子:

class Child1: A {
    var y: Int!
    ...
}

class Child2: A {
    var z: String?
}

所有这些都是好的和花花公子,但当我有一个对象表示从A继承的对象数组时会发生什么,如:

class Wrapper: Mappable {
    var objcs: [A]? // A will always be either Child1 or Child2, never A directly
}

我该如何处理这种情况? (细节很少,我需要能够使用来自Obj-c的Wrapper,没有添加注释和NSObject继承以避免冗长)

1 个答案:

答案 0 :(得分:1)

我设法解决了这个问题,所以我将其留给子孙后代以防任何人遇到这个问题:

我必须实现一个自定义的TransformType(ObjectMapper库的协议),它接受[Any]的列表并根据Any的内部结构将它们独立地转换为Child1或Child2