数据持久化的操作:
- plist(属性列表)
- NSUserDefaults(偏好设置)
- NSKeyedArichiver(归档)
- SQLite 3(FMDB)
- core data
属性列表(plist):
轻量级的存储方式,底层为XML格式,plist文件的读写效率比较高,由于
他的读写需要将所有的数据取出再全部保存,所以只适合小数据。
偏好设置(NSUserDefaults):
用户的一些偏好设置存储在plist中,用到是NSUsersDefaults,一般来说,会创建一个名为
UsersDefaults.plist的plist文件,然后通过key、value的方式来存储或者读取。这个东西深究起
来内容也是比较多的,比如说NSUserDefaults的五种作用域:
- 应用域:最重要的域,存储的是你的APP通过NSUserDefaults存储的设置,比如视频播放的
清晰度、音频的大小 - 注册域:比较低的优先级,只有在你的应用域中找不到值的时候去找
- 全局域:何为全局,全局就是所有,很简单,你手机自己设置的东西,官方就是系统设置
- 语言域:语言肯定知道,但是还包括时间和地区
- 参数域:最高的优先权
归档(NSKeyedArichiver):
归档用NSKeyedArichiver,解档用NSKeyedUnarichiver,一组两组数据的归档没什么好说的,
一般来说,归档是作用于MVC模式的model层的,基本用法是按下Home键之前归档,再次启动程序之后
解档,这样做的方式是不会使数据丢失,而且方便。
SQLite
SQLite是一种轻型的数据库,作用是干嘛的?网上百度一大堆,其实很简单,就是和普通的
数据库操作是一样的,嵌入式的。
CoreData
也是轻量级的,但是跳过了数据库的一些繁杂的语句。有一个问题就是,Core Data是不是
数据库,回答是不是的。
网友评论