数据存储_NSCoding+NSKeyedArchiver和NSKeyedUnarchiver

在iOS开发过程中,我们经常需要去创建一个数据模型,来存储数据。数据模型的好处也是显而易见,需要什么加一个属性,更直观更易理解。但是我们自定义的数据模型并不能像NSArray或者NSDictionary一样直接转化成NSData,去存储。那我们如果想在本地保存这个数据模型,那就要绕个弯去做了,也就是序列化和反序列化。具体的实现就是采用NSCoding、NSKeyedArchiver、NSKeyedUnarchiver。

时间: 2024-10-05 05:09:03

数据存储_NSCoding+NSKeyedArchiver和NSKeyedUnarchiver的相关文章

IOS 数据存储(NSKeyedArchiver 归档篇)

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

iOS中的数据存储 NSUserDefault NSKeyedArchiver(归档和反归档)

应用沙盒: 每个iOS应用都有自己的应用沙盒(应用沙盒就是文件系统目录)与其他文件系统隔离.应用必须待在自己的沙盒里,其他应用不能访问该沙盒. 模拟器应用沙盒的根路径在: (apple是用户名, 6.0是模拟器版本) /Users/apple/Library/Application Support/iPhone Simulator/6.0/Applications 或者: /Users/用户名/资源库/Application Support/iPhone Simulator/6.1/Applic

iOSiOS开发之数据存储之NSKeyedArchiver

1.概述 NSKeyedArchiver归档和plist文件存储不同的是NSKeyedArchiver可以直接保存对象.如果对象是NSString.NSDictionary.NSArray.NSData.NSNumber等类型,可以直接用NSKeyedArchiver进行归档和恢复.不是所有的对象都可以直接用这种方法进行归档,只有遵守了NSCoding协议的对象才可以被存储. NSCoding协议中的2个方法: (1)encodeWithCoder: 存对象时该方法必须实现,每次归档对象时,都会

iOS边练边学--应用数据存储的常用方式(plist,Preference,NSKeyedArchiver)其中的三种

iOS应用数据存储的常用方式: XML属性列表(plist)归档 Preference(偏好设置) NSKeyedArchiver归档(NSCoding) SQLite3--这里暂且不讲 Core Data--这里暂且不讲 一.应用沙盒 每个iOS应用都有自己的应用沙盒(应用沙盒就是文件系统目录),与其他文件系统隔离.应用必须待在自己的沙盒里,其他应用不能访问该沙盒 应用沙盒的文件系统目录,如下图所示 二.应用沙盒结构分析 应用程序包:(上图中的Layer)包含了所有的资源文件和可执行文件 Do

数据的存储-NSKeyedArchiver和write to file介绍

数据的存储-NSKeyedArchiver和write to file介绍 首先介绍各个文件的作用-->讲解文件位置的查找方法-->介绍数据存储的方式:1.使用归档方式存储数据 2.writetofile写入方法 iphone沙盒下的目录中存放的是什么信息? 有ios程序显示的路径,我们将找到ios的沙盒位置,里面存在一下三个目录 Documents:将所有的应用程序数据文件写入到这个目录下.这个目录用于存储用户数据或其他应该定期备份的信息. Library:这个目录下面有两个子目录,Cach

IOS开发—数据存储(直接写入、NSUserDefaults、NSkeyedArchiver)

数据存储(直接写入.NSUserDefaults.NSkeyedArchiver) ios中常用文件存取的方法有: 1.直接写文件的方式,可以存储的对象有NSString.NSArray.NSDictionary.NSData.NSNumber,数据全部存放在一个属性列表文件(*.plist文件)中. 2.NSUeserDefaults(偏好设置),用来存储应用设置信息,文件放在perference目录下. 3.归档操作(NSkeyedArchiver),不同于前面两种,它可以把自定义对象存放在

简单的数据存储——plist、NSKeyedArchiver归档、NSUserDefaults(偏好设置)、SQLite(嵌入式数据库)

数据存储的五种方法: 1.xml属性列表(plist归档) 2.NSKeyedArchiver归档(加密形式) 3.NSUserDefaults(偏好设置) 4.SQLite(嵌入式数据库) 5.Core Date(面向对象方式的嵌入式数据库) 一.plist的读写 缺点: 1.明文保存 2.操作对象有限只有NSArray.NSMutableArray.NSDictionary.NSMutableDictionary支持 (归档时只要调用对应的writeToFile方法即可,解档调用arrayW

数据存储(直接写入、NSUserDefaults、NSkeyedArchiver)

ios中常用文件存取的方法有: 1.直接写文件的方式,可以存储的对象有NSString.NSArray.NSDictionary.NSData.NSNumber,数据全部存放在一个属性列表文件(*.plist文件)中. 2.NSUeserDefaults(偏好设置),用来存储应用设置信息,文件放在perference目录下. 3.归档操作(NSkeyedArchiver),不同于前面两种,它可以把自定义对象存放在文件中. 首先每个开发者都应该知道,对于一个应用来说,有唯一的沙盒与之对应,即每个应

ios数据存储之二 —— NSKeyedArchiver

1 #import <Foundation/Foundation.h> 2 3 @interface NJContatc : NSObject <NSCoding> 4 5 @property (nonatomic, copy) NSString *name; 6 @property (nonatomic, copy) NSString *phoneNumber; 7 @property (nonatomic, copy) NSString *email; 8 @end 9 10