iOS本地存储1--NSkeyedArchiever归档

28th,March,2016

0 前言

iOS本地数据存储5种方式:

1. NSUserDefaults 偏好设置;

2. plist归档;

3. NSKeyedArchiver归档 加密;

4. SQLite3 嵌入式数据库;

5. Core Data 对象式的嵌入式数据库;

1 NSKeyedArchiver归档

1.0 简介

该方式特点: 存储所有对象类型,加密存储,可自定义对象。

归档方式分为: 1.简单归档 直接将对象存储为根对象; 2.复杂归档 可存储多个对象并设置对应的key;3.自定义对象归档

1.1 简单存储

1). 归档("序列化"):

2).接档("反序列化"):

1.2 复杂存储

1).归档:

Tip1: writeToFile atomically中 useAuxiliaryFile: 翻译的话是“使用辅助文件”的意思。 atomically 自然会联想到原子性的意思。 参考资料3中提到该参数表示写入文件的原子性,为YES时表示会先创建一个辅助文件,直到数据写入成功后再导入到目标文件中保证文件的原子性。

其中encode....中可存储一下数据类型:

2).解档:

1.3 自定义对象存储

自定义对象需要遵循NSCoding协议,该协议中有两个需要实现的方法:

1) 自定义对象:

2)  自定义对象归档&&解档

2 参考资料

1). iOS开发系列—Objective-C之Foundation框架

2). iOS
archive(归档)的总结
 // get from 小白

3). OBJECTIVE-C中nsstring的writetofile
atomically参数解释

时间: 2024-10-09 21:10:13

iOS本地存储1--NSkeyedArchiever归档的相关文章

iOS 本地存储四种方法(没看)

在iOS开发过程中,不管是做什么应用,都会碰到数据保存的问题.将数据保存到本地,能够让程序的运行更加流畅,不会出现让人厌恶的菊花形状,使得用户体验更好.下面介绍?一下数据保存的方式: 1.NSKeyedArchiver:采用归档的形式来保存数据,该数据对象需要遵守NSCoding协议,并且该对象对应的类必须提 供encodeWithCoder:和initWithCoder:方法.前?一个方法告诉系统怎么对对象进行编码,而后?一个方法则是告诉系统怎 么对对象进行解码.例如对Possession对象

iOS 本地存储四种方法

在iOS开发过程中,不管做什么应用都会碰到数据保存的问题.将数据保存到本地,能够让程序更加流畅,不会出现让人厌恶的菊花状态.使得用户体验更好. 下面就来介绍数据保存的方式: 1.NSKeyedArchiver:采用归档的形式来保存数据,该数据对象需要遵守NSCoding协议,并且该对象对应的类必须提供encodeWithCoder:和initWithCoder:方法. 前一个方法告诉系统怎么对对象进行编码,而后一个方法则是告诉系统怎么对对象进行解码.例如对Possession对象归档保存. 定义

IOS 数据存储(NSKeyedArchiver 归档篇)

什么是归档 当遇到有结构有组织的数据时,比如字典,数组,自定义的对象等在存储时需要转换为字节流NSData类型数据,再通过写入文件来进行存储. 归档的作用 之前将数据存储到本地,只能是字符串.数组.字典.NSNuber.BOOL等容器类对象,不能将自定义对象进行保存,而通过归档能将所有的对象转化为二进制数据存储到文件中. 归档的缺点 归档保存数据,只能一次性归档保存以及一次性解压.所以只能针对小量数据,而且对数据操作比较笨拙,即如果想改动数据的某一小部分,还是需要解压整个数据或者归档整个数据.

IOS数据本地存储的四种方式--

注:借鉴于:http://blog.csdn.net/jianjianyuer/article/details/8556024 在IOS开发过程中,不管是做什么应用,都会碰到数据保存问题.将数据保存到本地,能够让程序更加流畅,不会出现让人厌恶的菊花状,使得用户的体验更好.下面是介绍数据保存的方式 第一.NSKeyedArchiver:采用归档的形式来保存数据.(归档——解档)———大量数据和频繁读写不合适使用 1.归档器的作用是将任意的对象集合转换为字节流.这听起来像是NSPropertyLis

iOS数据持久化之二——归档与设计可存储化的数据模型基类

iOS数据持久化之二--归档与设计可存储化的数据模型基类 一.引言 在上一篇博客中,我们介绍了用plist文件进行数据持久化的方法.虽然简单易用,但随着开发的深入,你会发现,这种方式还是有很大的局限性.试想,如果我们可以将用户的登录返回信息模型,游戏中角色的属性信息模型进行直接的持久化存取,那是不是非常爽的事,幸运的是,我们可以通过归档,来设计一个这样的数据模型. 二.先来精通归档吧 归档也是iOS提供给开发者的一种数据存储的方式,事实上,几乎所有的数据类型都可以通过归档来进行存取.其存储与读取

IOS-本地存储-NSUserDefaults

We consider permutations of the numbers 1,..., N for some N. By permutation we mean a rearrangment of the number 1,...,N. For example 2  4  5  1  7  6  3  8 is a permutation of 1,2,...,8. Of course, 1  2  3  4  5  6  7  8 is also a permutation of 1,2

objective-c ios webkit 本地存储local-storage

我有一个Cocoa / Objective-C的应用程序,它嵌入了一个WebKit的web视图.我需要打开的数据库支持和本地存储.我知道这是可以做到-我有它在Safari中工作-但我无法找到如何设置这在我自己的应用程序的示例. 我发现这个(未回答)问题的SO它提供了一个例子,但正如原来不起作用.而事实上,(setDatabasesEnabled,setLocalStorageEnabled)没有在我的WebKit的定义. (Xcode的3.2.5),尽管它们似乎存在,如果我定义他们自己. 任何人

iOS 图片本地存储、本地获取、本地删除

在iOS开发中.经常用到图片的本地化. iOS 图片本地存储.本地获取.本地删除,可以通过以下类方法实现. p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Menlo; color: #008400; background-color: #ffffff } p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Menlo; color: #000000; background-color

iOS开发查看手机app本地存储的文件

开发过程中,有时会在本地存储一些文件,但是我们不确定有没有存上,可以通过以下方法来查看测试手机上本地存储的文件: 1.选择xcode上面的window下面的Devices 2.先在左边选中你当前的设备,然后在右下角选择你要查看的app,点击下面的齿轮按钮,选择下载,就能得到你要看的app当前沙盒里存储的文件了. 具体操作看下图