HandyJSON 结构体中定义的属性不是可选的,但是解析的结果成了可选的属性

s5a0g9ez  于 3个月前  发布在  其他
关注(0)|答案(1)|浏览(82)

pod 'HandyJSON', '~> 5.0.1'

struct UserInfoModel: HandyJSON {
var avatar: String!
var nick: String!
var username: String!
}
//主要问题在这里instance对应上面结构题的属性成了可选的
` static func _transform(dict: [String: Any]) -> _ExtendCustomModelType? {

var instance: Self
    if let _nsType = Self.self as? NSObject.Type {
        instance = _nsType.createInstance() as! Self
    } else {
        instance = Self.init()
    }
    instance.willStartMapping()
    _transform(dict: dict, to: &instance)
    instance.didFinishMapping()
    return instance
}`
e1xvtsh3

e1xvtsh31#

Swift 5.0+ 里面 ! 和 ? 内部实现是一样的,本质上都是可选,你想要不可选要把那个 ! 去掉

相关问题