温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

NSUserDefault 保存自定义对象

发布时间:2020-06-14 17:27:03 来源:网络 阅读:531 作者:柯木超 栏目:移动开发

//

//  User.swift

//  情感夜空

//

//  Created by 柯木超 on 15/10/7.

//  Copyright  2015 柯木超. All rights reserved.

//


import UIKit

import Foundation

import SwiftyJSON

class User: NSObject , NSCoding{

    var  icon:String?; //头像

    var  name:String?; //昵称

    var  loginName:String?; //登录名

    var  password:String?; //登录名

    var  brityday:String?; //出生日期

    var  occupation:String?; //职业

    var  interest:String?; //兴趣爱好

    var  emotionStatus:String?; //情感状态

    var  city:City?; //城市

    var  coordinateX:String?; //横坐标(经度)

    var  coordinateY:String?; //纵坐标(纬度)

    var  sex:String?; //性别

    var  gender:String?; //星座

    var  token:String?; //融云token

    var  hight:String?; //身高

    

    init(json:JSON) {

        super.init();

        self.name = json["name"].stringValue;

        self.loginName = json["loginName"].stringValue;

        self.password = json["password"].stringValue;

        self.brityday = json["brityday"].stringValue;

        self.occupation = json["occupation"].stringValue;

        self.interest = json["interest"].stringValue;

        self.emotionStatus = json["emotionStatus"].stringValue;

        self.city = City(json: json["city"])

        self.coordinateX = json["coordinateX"].stringValue;

        self.coordinateY = json["coordinateY"].stringValue;

        self.sex = json["sex"].stringValue;

        self.gender = json["gender"].stringValue;

        self.token = json["token"].stringValue;

        self.hight = json["hight"].stringValue;

    }

    


    override init(){

        

    }

    

    

    func encodeWithCoder(aCoder: NSCoder) {

        aCoder.encodeObject(self.name, forKey: "name");

        aCoder.encodeObject(self.loginName, forKey: "loginName");

        aCoder.encodeObject(self.password, forKey: "password");

        aCoder.encodeObject(self.brityday, forKey: "brityday");

        aCoder.encodeObject(self.occupation, forKey: "occupation");

        aCoder.encodeObject(self.interest, forKey: "interest");

        aCoder.encodeObject(self.emotionStatus, forKey: "emotionStatus");

        aCoder.encodeObject(self.city, forKey: "city");

        aCoder.encodeObject(self.coordinateX, forKey: "coordinateX");

        aCoder.encodeObject(self.coordinateY, forKey: "coordinateY");

        aCoder.encodeObject(self.sex, forKey: "sex");

        aCoder.encodeObject(self.gender, forKey: "gender");

        aCoder.encodeObject(self.token, forKey: "token");

        aCoder.encodeObject(self.hight, forKey: "hight");


    }

    

    

    

    required init?(coder aDecoder: NSCoder) {

        self.name = aDecoder.decodeObjectForKey("name") as? String;

        self.loginName = aDecoder.decodeObjectForKey("loginName") as? String;

        self.password = aDecoder.decodeObjectForKey("password") as? String;

        self.brityday = aDecoder.decodeObjectForKey("brityday") as? String;

        self.occupation = aDecoder.decodeObjectForKey("occupation") as? String;

        self.interest = aDecoder.decodeObjectForKey("interest") as? String;

        self.emotionStatus = aDecoder.decodeObjectForKey("emotionStatus") as? String;

        self.city = aDecoder.decodeObjectForKey("city") as? City;

        self.coordinateX = aDecoder.decodeObjectForKey("coordinateX") as? String;

        self.coordinateY = aDecoder.decodeObjectForKey("coordinateY") as? String;

        self.sex = aDecoder.decodeObjectForKey("sex") as? String;

        self.gender = aDecoder.decodeObjectForKey("gender") as? String;

        self.token = aDecoder.decodeObjectForKey("token") as? String;

        self.hight = aDecoder.decodeObjectForKey("hight") as? String;

    }

    

}



 //用户用user default保存

 let userData = NSKeyedArchiver.archivedDataWithRootObject(user);

 let userDefault = NSUserDefaults.standardUserDefaults();

 userDefault.setValue(userData, forKey: "user”);




//取

let userdata:NSData = (NSUserDefaults.standardUserDefaults().valueForKey("user") as? NSData)!;

//反序列化


let user:User = (NSKeyedUnarchiver.unarchiveObjectWithData(userdata) as? User)!;



向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI