iOS开发中的数据持久化(学习体会)

时间:2023-01-21 03:23:11

以前做企业移动app的时候,用的最多的是SAP/IBM的移动数据库和相关加密存储API,以及开源的sqlite移动数据库。

这两天翻翻iOS开发的书,还真是开卷有益。

在《精通iOS开发》一书第13章中,讲到了下面四种iOS上的数据持久化,结合《Objective-C基础教程》补充下精通一书没有说清楚的地方

1 属性列表:英文property list,是Cocoa中的一种类型的class,通常简写plist,包括NSArray, NSDictionary, NSString, NSNumber, NSDate, NSData以及他们的Mutable的类。

     这几个classt都有writeToFile的方法写对象到文件中,相应的也有xxxxxWithContentOfFile方法来读取文件数据并反序列化为对象

2 对象归档:Ojbect archiving归档,很像Java语言中的Serilaze序列化的。  复杂的对象要归档(序列化),需要遵循NSCoding协议,需要自己实现encode/decode等方法。

3 SQLite3数据库:一个C语言(原始人啊)的第三方类库,在iOS/xcode中内置了。像我这种企业developer贼喜欢。

4 Core Data:apple给现代人用的可偷懒的工具和API(类似Java世界的hibernate API和eclipse里面的ORMapping工具),包括图形化对象建模modeling,提供简单易用的创建/保存/搜索对象的API(程序员不关心它下面的持久化层到底是sqlite数据库还是内存还是文件)。