swift 对象映射器 : Map array of objects that inherit from base object

标签 swift objectmapper

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

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/

相关文章:

ios - 具有自动调整单元格大小的 UITableViewCell 最小高度

ios - 为自身设置一个 bool 变量

java - 错误 com.fasterxml.jackson.databind.exc.MismatchedInputException : No content to map due to end-of-input

java - 使用 Map 填充 Java 对象

swift - 'requestReview()' 在 iOS 14.0 中被弃用

ios - Swift:在两个可选值之间切换

ios - Swift 必须调用父类(super class) uiinputviewcontroller 的指定初始化器

json - Swift 将 ObjectMapper 与单例一起使用

java - 解码后将base64 token转换为jsonString

json - AlamofireObjectMapper,嵌套的 JSON 结构在序列化时始终为 nil