我有一个像这样的基本父对象:
class A: Mappable {
var x: String!
...
}
还有它的两个 child :
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 继承以避免冗长)
最佳答案
我设法解决了这个问题,所以我把这个问题留给后代,以防有人遇到这个问题:
我必须实现一个自定义 TransformType(ObjectMapper 库的协议(protocol)),它获取 [Any]
列表,并根据 Any 的内部结构将它们独立地转换为 Child1 或 Child2
关于 swift 对象映射器 : Map array of objects that inherit from base object,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42812483/