Swift 改写项目遇到的一个问题fatal error: NSArray element failed to match the Swift Array Element type

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_30932479/article/details/68217673

项目中沿用的YYModel,遇到Model嵌套时,崩溃报错如下:

fatal error: NSArray element failed to match the Swift Array Element type
//Model片段
class ShopCartItemModel: NSObject {

    var code: String?
    var name: String?
    var picurl: String?
    var price: String?
    var unitname: String?
    var number: String?
    var productcode: String?
    var productname: String?
    var stock: String?
    var state: String?
    var timeprice: String?
    var addtime: String?
    var packet: [PacketModel]?
    
    var isSelected: Bool?
    var isCalculateViewHidden: Bool? = true
     
    //调用此方法后,问题解决
    static func modelContainerPropertyGenericClass() ->[String : AnyObject]? {
        return ["packet":PacketModel.self]
    }
    
}

意思是:NSArray的元素跟Swift的Array元素类型匹配失败。

这是在ShopCartItemModel中套用了含有PacketModel的数组时造成的。对YYModel了解不够深刻,不知道在model嵌套时需要调用一个类型转换的方法modelContainerPropertyGenericClass(),起到说明的作用

之前也遇到这类问题,但是之前的解决方式是回避式的,也就是一遇到这个问题因不得其解,故而换用了其他方案。当时的模型数据嵌套较少,只是用了一个笨方法把这个问题给绕过去了,今日探索了一下午,真是惭愧,学艺不精,多多勉励。

阅读更多
换一批

没有更多推荐了,返回首页