美文网首页
iOS. swift 本地数据归档和解档

iOS. swift 本地数据归档和解档

作者: 我会回来的 | 来源:发表于2021-09-07 18:25 被阅读0次

iOS. swift  本地数据归档和解档 

userDataModel 文件

代码:

class MyModel: NSObject,NSCoding {

    vartextOne=""

    vartextTwo=""

    var textThree = ""

    init(testOne:String,textTwo:String,textThree:String){

        self.textOne= testOne

        self.textTwo= textTwo

        self.textThree= textThree

        super.init()

    }

    requiredinit(coder aDecoder:NSCoder){

        self.textOne= aDecoder.decodeObject(forKey:"nameOne")as!String

        self.textTwo= aDecoder.decodeObject(forKey:"nameTwo")as!String

        self.textThree= aDecoder.decodeObject(forKey:"nameThree")as!String

    }

    funcencode(with coder:NSCoder) {

        coder.encode(self.textOne,forKey:"nameOne")

        coder.encode(self.textTwo,forKey:"nameTwo")

        coder.encode(self.textThree,forKey:"nameThree")

    }

}

// 归档

通过plist 文件

 var accountPath=NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true).first!//解档 

        accountPath+="/userAccount.plist"

        letaccount =NSKeyedUnarchiver.unarchiveObject(withFile: accountPath)as?MyModel

        lettestOne = account?.textOne

        print("========\(testOne)")

// 解档

let model =MyModel.init(testOne:self.bValueLable?.text??"", textTwo:self.cValueLable?.text??"", textThree:self.dValueLable?.text??"")

        //获取沙盒路径

        var accountPath=NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true).first!

        accountPath+="/userAccount.plist"

        print("路径:"+accountPath)

        NSKeyedArchiver.archiveRootObject(model, toFile: accountPath)

通过UserDefaults  方法 归档 和 解档

代码:

// 存数据

let model =MyModel.init(testOne:self.bValueLable?.text??"", textTwo:self.cValueLable?.text??"", textThree:self.dValueLable?.text??"")

let  modelData =  NSKeyedArchiver.archivedData(withRootObject: model)

userDefault.set(modelData, forKey: "myModel")

// 取数据

let myModelData = userDefault.data(forKey: "myModel")

let myModel = NSKeyedUnarchiver.unarchiveObject(with: myModelData!) as! UserInfo

print(myModel)

相关文章

  • iOS. swift 本地数据归档和解档

    iOS. swift 本地数据归档和解档 userDataModel 文件 代码: class MyModel: ...

  • swift 归档和解档

    归档 NSCoding,实现两个方法 AccessToken 是后续所有网络访问的重要依据 /// 构造函数,一...

  • iOS NSKeyedArchiver数据归档

    iOS中利用NSKeyedArchiver和NSKeyedUnarchiver进行数据的归档和解档操作。 归档 所...

  • runtime 进行归档和解档

    数据本地持久化时, 一般会将模型进行归档, 从本地获取数据时, 需要解档下面使用runtime的方式进行归档解档,...

  • swift 归档数据持久化

    数据持久化代码如下: // // ViewController.swift // 归档解档 // // Creat...

  • iOS解档和归档 NSUserDefault

    什么是归档和解档? 归档(也称对象的序列化) 就是通过某种格式把对象保存成本地文件,以便以后读回该对象的内容 解档...

  • iOS之归档和解档

    归档和解档 什么是Serialization? 写数据到本地磁盘或者进行传输时,需要进行序列化,转化成二进制流,从...

  • 数据的存储和应用程序的沙盒

    一、数据的存储 1、沙盒 2、NSUserDefaults 3、归档 自定义的类归档和解档要遵守NSCoding协...

  • ios中Swift的归档与解档

    ios中Swift的归档与解档 归档 解档 init()方法 设置属性

  • 归档 & 解档

    1.什么是 归档 和 解档 数据本地存储持久化的一种。归档:对象的序列化,通过某种格式把对象保存成本地文件。解档:...

网友评论

      本文标题:iOS. swift 本地数据归档和解档

      本文链接:https://www.haomeiwen.com/subject/dkudwltx.html