如何使用 ObjectMapper 映射两种不同的类型

问题描述

我正在尝试映射来自后端服务器的数据。但问题是我有两种不同的类型,一种是 Int ,另一种是 String 。我使用对象映射器进行映射,我的代码就像 ;

class OptionsData : Mappable,ObservableObject {
    
    var id = UUID()
    @Published var name : String?
    @Published var type : String?
    @Published var typeID : String?
    @Published var typeArry : [TypeItem]?
    @Published var image : String?
    @Published var icon : String?
    @Published var platformID : String?
    @Published var imageRatio : Double?
    @Published var priceSell : Double?
    @Published var vat : Double?
    @Published var targetCurrency : String?
    @Published var isDiscountActive : Double?
    @Published var displayVat : Int?
    
    required init?(map: Map) {
        
    }
    
    func mapping(map: Map) {
        
        name <- map["name"]
        type <- map["type"]
        typeID <- map["type_id"]
        typeArry <- map["type_arr"]
        image <- map["image"]
        icon <- map["icon"]
        platformID <- map["platform_id"]
        imageRatio <- map ["image_ratio"]
        priceSell <- map ["price_sell"]
        targetCurrency <- map["target_currency"]
        vat <- map ["vat"]
        isDiscountActive <- map ["is_discount_active"]
        displayVat <- map ["display_vat"]
        
        
    }
    
    init(name : String? = nil,type : String? = nil,typeID : String? = nil,typeArry : [TypeItem]? = nil,image : String? = nil,icon : String? = nil,platformID : String? = nil,image_ratio : Double? = nil,price_sell : Double? = nil,vat : Double? = nil,targetCurrency : String? = nil,isDiscountActive : Double? = nil,displayVat : Int? = nil) {
        
        self.name = name
        self.type = type
        self.typeID = typeID
        self.typeArry = typeArry
        self.image = image
        self.icon = icon
        self.platformID = platformID
        self.imageRatio = image_ratio
        self.priceSell = price_sell
        self.vat = vat
        self.targetCurrency = targetCurrency
        self.isDiscountActive = isDiscountActive
        self.displayVat = displayVat
        
    }
}

我正在尝试为 typeID 执行此操作。有没有办法为 2 种不同的类型工作?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...