zoukankan      html  css  js  c++  java
  • 编码与解码

    创建一个学生类,首先归档保存学生信息,然后再解档读取数据

    import UIKit

    class Student:NSObject, NSCoding{

        

        var sno:String!

        var name:String!

        var score:Int!

        

        init(sno:String,name:String,score:Int) {

            self.sno=sno

            self.name=name

            self.score=score

        }

        

        //编码的时候调用这个方法

        func encodeWithCoder(aCoder: NSCoder) {

            aCoder.encodeObject(sno,forKey: "sno")

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

            aCoder.encodeInteger(score, forKey: "score")

        }

        

        //解码的时候调用这个方法

        required init?(coder aDecoder:NSCoder){

            sno=aDecoder.decodeObjectForKey("sno") as! String

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

            score=aDecoder.decodeIntegerForKey("score")

        }

    }

    import UIKit

    class ViewController: UIViewController {

        //Documents目录

        lazy var documentsPath:String={

            let paths=NSSearchPathForDirectoriesInDomains(.DocumentDirectory,.UserDomainMask,true)

            return paths.first!

        }()

        override func viewDidLoad() {

            super.viewDidLoad()

            

            //归档操作

            

            //创建对象

            let students=Student(sno:"1101",name:"刀冲",score:59)

            

            //构造路径

            let path="(documentsPath)/student.archive"

            

            //归档对象

            NSKeyedArchiver.archiveRootObject(students, toFile:path)

            

            //解档操作

            let object=NSKeyedUnarchiver.unarchiveObjectWithFile(path) as! Student

            print("(object.sno), (object.name), (object.score)")

            

            //检查文件

            print("(NSHomeDirectory())")

        }

    }

  • 相关阅读:
    关于mysql的wait_timeout参数 设置不生效的问题【转】
    mysql只读模式的设置方法与实验【转】
    ansible批量修改linux服务器密码的playbook
    Serv-U 的升级及数据备份和迁移【转】
    java系统的优化
    JBoss6.1.0修改启动jvm内存以及修改日志级别【转】
    JAVA_OPTS讲解【转】
    RabbitMQ集群、镜像部署配置
    LVS+MYCAT+读写分离+MYSQL主备同步部署手册
    常用数据库高可用和分区解决方案(2) — MongoDB篇
  • 原文地址:https://www.cnblogs.com/daochong/p/5208545.html
Copyright © 2011-2022 走看看