iOS 数据持久化的操作

数据持久化的操作:

  • 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是不是
数据库,回答是不是的。

你可能感兴趣的:(iOS 数据持久化的操作)