Note 17 存储数据

    // (1)
        NSKeyedArchiver.archiveRootObject(arr, toFile: NSHomeDirectory() + "/Documents/stu1.plist")//归档,存储
        print(NSHomeDirectory() + "/Documents")
      //(2)
        let arr1 = NSKeyedUnarchiver.unarchiveObjectWithFile(NSHomeDirectory() + "/Documents/stu1.plist") as! NSArray//解归档并转成NSArray
        print((arr1[0] as! student).age)//
        
        //(1)
       let data = NSKeyedArchiver.archivedDataWithRootObject(arr)//归档,转成NSData
        NSUserDefaults.standardUserDefaults().setObject(data, forKey: "data")//存储
        //(2)
        let Ndata = NSUserDefaults.standardUserDefaults().objectForKey("data") as! NSData //读取数据
        let arr1 = NSKeyedUnarchiver.unarchiveObjectWithData(Ndata) as! NSArray  //解归档

一.foundation : NSUserDefaults
//kay - value 少量信息 - 存储配置信息
二.write..
三.
(1)
1.NSKeyedArchiver 归档
NSkeyedUnArchiver 解归档
2.NSCoding, 存储的对象全部实现了NSCoding协议就可以存储
自动实现对象与存储数据直接的转换
缺点: 苹果自有的格式,不支持其他平台
(2)
1.归档 存入文件
2.归档(归档成为NSData) 然后用 NSUserDefaults 存储

你可能感兴趣的:(Note 17 存储数据)