我有一个像这样的基本父对象:
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继承以避免冗长)
答案 0 :(得分:1)
我设法解决了这个问题,所以我将其留给子孙后代以防任何人遇到这个问题:
我必须实现一个自定义的TransformType(ObjectMapper库的协议),它接受[Any]
的列表并根据Any的内部结构将它们独立地转换为Child1或Child2