美文网首页
iOS数据持久化之数据归档遇到的问题

iOS数据持久化之数据归档遇到的问题

作者: 我是明明哥 | 来源:发表于2017-07-12 16:59 被阅读75次

今天温习了一下数据持久化的知识,突然发现数据归档忘记怎么写了,于是就用swift重新温习了一下,期间还遇到两个小问题,现在记下来以便以后温习

//这里是写练习用的一个归档数据类
public class Node:NSObject,NSCoding
{
    public var nId:Int?
    public var name:String?
    
    override init() {
        
    }
    
    public func encode(with aCoder: NSCoder)
    {
        aCoder.encode(nId, forKey: "nId")
        aCoder.encode(name, forKey: "name")
    }
    
    public required init?(coder aDecoder: NSCoder)
    {
        self.nId = aDecoder.decodeObject(forKey: "nId") as? Int
        self.name = aDecoder.decodeObject(forKey: "name") as? String
    }
}
//这部分是归档数据的过程和取出归档数据的过程练习
let fileManager = FileManager.default
let urls = fileManager.urls(for: .documentDirectory, in: .userDomainMask)
 if let documentPath = urls.first
 {
       let dbPath = documentPath.appendingPathComponent("node.data")
       let node = Node()
       node.nId = 1000
       node.name = "Hello"
       let url = dbPath.path //在这里遇到过问题,最开始用的是absoluteString取的地址字符串,
       但发现在归档写文件的时候总是失败返回false后来经过查资料才发现是地址取错了,
       应该使用path来取
       print(url)
       let result = NSKeyedArchiver.archiveRootObject(node, toFile: url)
       print(result)
       if let model = NSKeyedUnarchiver.unarchiveObject(withFile: url) as? Node
       {
              print("mode is \(model.nId ?? 0), \(model.name ?? "")")
       }
  }

相关文章

  • iOS数据持久化方式

    iOS数据持久化方式 文件 归档(NSKeyedArchiver) 属性列表(NSUserDefaults) 数据...

  • iOS数据持久化之数据归档遇到的问题

    今天温习了一下数据持久化的知识,突然发现数据归档忘记怎么写了,于是就用swift重新温习了一下,期间还遇到两个小问...

  • iOS中的持久化&&数据库基本操作

    一、数据持久化的几种方法 在iOS中将数据持久化总共有四招: 1. 归档(Archiver)、解归档(unArch...

  • SQLite数据库

    我们在写项目中常常要求数据持久化 在iOS编程中数据持久化的方式有归档/反归档将数据写入本地或者利用数据库将数据接...

  • iOS数据持久化

    iOS数据持久化 iOS应用数据存储的常用方式 XML属性列表(plist)归档 Preference(偏好设置)...

  • 数据持久化学习笔记

    数据持久化的相关知识 四种将数据持久化存储到iOS文件系统的机制: plist 对象归档 iOS的嵌入式关系数据库...

  • 数据持久化基础知识

    参考: iOS开发中的4种数据持久化方式【一、属性列表与归档解档】 iOS开发中的4种数据持久化方式【二、数据库 ...

  • 归档-解归档

    归档-解归档 在iOS开发中,数据持久化方法很多,比如:SQL、KeyChina、CoreData、NSUserD...

  • 数据持久化方式

    数据持久化方式 ios中的数据持久化方式,基本上有以下四种:属性列表(plist文件)、对象归档(NSKeyedA...

  • iOS基础--数据本地化-归解档-整理总结(2)

    iOS数据持久化方法: 属性列表 (plist文件), 用 NSUserDefault 归档 (NSKeyedAr...

网友评论

      本文标题:iOS数据持久化之数据归档遇到的问题

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