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())")

        }

    }

  • 相关阅读:
    升级到 classpath 'com.android.tools.build:gradle:1.0.0-rc1
    OnScrollListenerPro
    dp和px的转换
    ListView 中判断是否滚动到底部
    为什么setAdapter之后不能addHeadView或者addfooterView
    SwipeRefreshLayout使用小记
    Git-Flow 带你飞!
    在aws的ec2服务器上搭建nginx+php的环境
    PHP程序员的技术成长规划
    GeoHash核心原理解析
  • 原文地址:https://www.cnblogs.com/daochong/p/5208545.html
Copyright © 2011-2022 走看看