swift-model以客户信息为例

//

//  Customer.swift

//  yadaService

//

//  Created by YADA-SJ on 2018/5/18.

//  Copyright © 2018年 . All rights reserved.

//  客户信息模型



import UIKit



@objcMembers class Customer: NSObject,NSCoding {

    

    var status:Int64=0

    var msg:String?

    var data:Data?

    

    override init() {}

    

    func encode(with aCoder: NSCoder) {

        aCoder.encode(status, forKey: "status")

        aCoder.encode(msg, forKey: "msg")

        aCoder.encode(data?.id, forKey: "id")

        aCoder.encode(data?.name, forKey: "name")

        aCoder.encode(data?.username, forKey: "username")

        aCoder.encode(data?.password, forKey: "password")

    }

    

    required init?(coder aDecoder: NSCoder) {

        status = (aDecoder.decodeObject(forKey: "status") as? Int64) ?? 0

        msg = aDecoder.decodeObject(forKey: "msg") as?  String

        let dict=Data()

        dict.id = (aDecoder.decodeObject(forKey: "id") as? Int64) ?? 0

        dict.name = aDecoder.decodeObject(forKey: "name") as? String

        dict.username = aDecoder.decodeObject(forKey: "username") as? String

        dict.password = aDecoder.decodeObject(forKey: "password") as? String

        self.data=dict

    }

    init(dict:[String:AnyObject]){

        super.init()

        setValuesForKeys(dict)

    }

    

    override func setValue(_ value: Any?, forKey key: String) {

        if key=="data" {

            if let dict = value as? [String:AnyObject]{

                self.data=Data.init(dict: dict);

            }

            return

        }

        super.setValue(value, forKey: key)

    }

    override func setValue(_ value: Any?, forUndefinedKey key: String) {}

    

    override var description: String{

        let keys=["status","msg","data"]

        return dictionaryWithValues(forKeys: keys).description

    }

}



@objcMembers class Data: NSObject {

    var password:String?

    var name:String?

    var id:Int64=0

    var username:String?

    

    override init() {}

    init(dict:[String:AnyObject]){

        super.init()

        setValuesForKeys(dict)

    }

    

    override func setValue(_ value: Any?, forUndefinedKey key: String) {}

    

    override var description: String{

        let keys=["id","name","password","username"]

        return dictionaryWithValues(forKeys: keys).description

    }

}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值