HandyJSON 5.0.0 mapping(mapper:HelpingMapper)自定义解析规则为nil

33qvvth1  于 2022-11-06  发布在  其他
关注(0)|答案(1)|浏览(331)

代码如下:
`class XPUser: XPBaseUser {

var uid:String?
var headImage:String?
/// 区域
var addrArea:String?
/// 俱乐部
var club:String?
/// 修改类型{1头像,2昵称,3手机号,4区域,5俱乐部,6密码}
var updateType:Int?
/// <#变量说明#>
var slt:String?
/// 是否是会员
var isVip:Bool?
/// 会员过期时间
var vipExpire:String?

//如果不适用接口的字段名,需要特定字段使用下面这个方法替换
func mapping(mapper: HelpingMapper) {
    mapper <<<
        self.uid <-- "id"

// mapper <<<
// self.loginName <-- "account"
// mapper <<<
// self.headImgUrl <-- "headImage"
// mapper <<<
// self.nickName <-- "nickname"
// mapper <<<
// self.thirdLoginType <-- "otherType"
// mapper <<<
// self.thirdLoginAccount <-- "otherAccount"
}
}`

`//通用的用户对象
class XPBaseUser: XPBaseModel {
var token:String?

var userID:String?
var loginName:String?
var password:String?
var headImgUrl:String?
var name:String?
var nickName:String?
var gender:Int = 0  //0女1男
var email:String?
var mobile:String?
var telephone:String?
var qq:String?
var weixin:String?
var weibo:String?

var validateCode:String?

var thirdLoginType:String?      //1.微信,2.微博,3.QQ
var thirdLoginAccount:String?
var thirdLoginNickName:String?
var thirdLoginHeadImgUrl:String?

}`

`import HandyJSON

class XPBaseModel: HandyJSON {

var deviceType:Int = 1;
var deviceUid:String = pp_DeviceUUID
var ipAddress:String = XPIPAddress.shared.publicIP

required init(){}

}`

uwopmtnx

uwopmtnx1#

常见问题
问:为什么mapping函数在继承的子类里不好使?
答:因为Swift类型相关的原因,如果需要在子类里使用mapping函数,那么必须在父类(如果有多层父类,必须在最顶层的父类)里定义一个空的mapping函数,然后在子类去override它。一样情况的还有didFinishMapping函数

仔细看使用文档

相关问题