美文网首页
2021-08-25

2021-08-25

作者: 我会回来的 | 来源:发表于2021-08-25 17:27 被阅读0次

    iOS swift SDK详解之NSCoding协议

    详解:NSCoding是对iOS中的Model类进行编码和解码必须要遵循的协议,如果一个对象要被归档,那么这个协议是必须的。 实现自动归档和解档。

    代码:

    class MyModel:NSObject,NSCoding {

        var name:String

        var age:Int32

        init(name:String,age:Int32){

            self.name = name

            self.age = age

            super.init()

        }

        required init(coder aDecoder: NSCoder) {

            self.name = aDecoder.decodeObjectForKey("kName") as! String

            self.age = aDecoder.decodeIntForKey("kAge")

        }

        func encodeWithCoder(aCoder: NSCoder) {

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

            aCoder.encodeInt(self.age, forKey: "kAge")

        }

    }

    调用:

      let model = MyModel(name: "Wenchen", age: 24)

      let data = NSKeyedArchiver.archivedDataWithRootObject(model)

      let unArchedModel = NSKeyedUnarchiver.unarchiveObjectWithData(data) as! MyModel

      println("Name:\(unArchedModel.name); Age:\(unArchedModel.age)")

    相关文章

      网友评论

          本文标题:2021-08-25

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