iOS 常用四种数据存储方式
在iOS开发过程中,不管是做什么应用,都会碰到数据保存的问题。将数据保存到本地,能够让程序的运行更加流畅, ,使得用户体验更好。下面介绍?一下数据保存的方式:
1.NSKeyedArchiver:采用归档的形式来保存数据,该数据对象需要遵守NSCoding协议,并且该对象对应的类必须提 供encodeWithCoder:和initWithCoder:方法。前?一个方法告诉系统怎么对对象进行编码,而后?一个方法则是告诉系统怎么对对象进行解码。例如对Possession对象...
分类:
移动开发 时间:
2015-03-11 14:46:03
阅读次数:
162
如果是自定义类型的归档和解档,是按以下步骤实现如果不是自定义类型,直接第四步就可以。一、创建一个类User二、在User.h中遵循NSCoding协议#import@interfaceUser :NSObject{ int_userAge;//例子 NSString*_userName;//}@pr...
分类:
其他好文 时间:
2015-03-10 13:28:14
阅读次数:
126
Swift实现对象归档时有几个注意点
要继承 NSCoding,实现两个方法
extension 是一个分类,分类不允许有存储能力,所以协议方法不能写在分类中
协议中的init(coder decoder: NSCoder)函数会覆盖原始的构造函数,所以类中至少还要有另一个init方法
如果不指定键名,会使用属性名称作为 key,基本数据类型,需要指定 key
class ...
分类:
编程语言 时间:
2015-03-03 20:41:06
阅读次数:
182
使用NSCoding协议可以实现归档自定义的类,NSKeyedArchiver可以归档我们自定义的类;要实现自定义类的归档,需要实现
encodeWithCoder(编码)和initWithCoder(解码)
我创建一个自定义的Student类,遵循NSCoding协议,实现这两个方法:
//
// Student.h
// UserList
//
// Created by http...
分类:
移动开发 时间:
2015-02-10 15:23:47
阅读次数:
194
归档只要将某个类实现nscoding协议就可以了eg://NSCoding协议方法-(id)initWithCoder:(NSCoder *)aDecoder{ if (self=[super init]) { self.name= [aDecoder decodeObjectFo...
分类:
移动开发 时间:
2015-02-08 12:46:04
阅读次数:
133
iOS应用数据存储的常用方式
lXML属性列表(plist)归档
lPreference(偏好设置)
lNSKeyedArchiver归档(NSCoding)
lSQLite3
lCoreData
应用沙盒
l每个iOS应用都有自己的应用沙盒(应用沙盒就是文件系统目录),与其他文件系统隔离。应用必须待在自己的沙盒里,其他应用不能访问该沙盒
l应用沙盒的文...
分类:
移动开发 时间:
2015-01-26 22:49:46
阅读次数:
242
数据持久化的复习1. 普通对象的写?入 - NSString- NSArray- NSDictionary- NSData(保存图?片、?音频数据等)2. 复杂对象的写?入- 遵守NSCoding协议 - 实现协议中的?方法? initWithCoder: (解码的?方法)? encod...
分类:
其他好文 时间:
2015-01-23 21:25:16
阅读次数:
184
开发过程中有时需要存储一些轻量级的数据,对于IOS提供的几种数据存储方式在这时最合适当属对象归档:NSCoding 但是将对象数据进行归档解档时候需要实现两个方法: encodeWithCoder和initWithEncoder。encodeWithCoder就是编码,initWithCode...
分类:
移动开发 时间:
2015-01-23 19:44:53
阅读次数:
198
iOS应用数据存储的常用方式 1.xml属性列表(plist)归档 2. Preference(偏好设置) 3.NSKeyedArchive归档(NSCoding) 4.SQLite 5.Core Data 1.xml属性列表(plist)归档"plist文件存储"1.字符串 数组 字典...
分类:
移动开发 时间:
2015-01-01 14:47:01
阅读次数:
248