美文网首页
NSUserdefault读书笔记

NSUserdefault读书笔记

作者: 我是花老虎 | 来源:发表于2016-08-02 10:57 被阅读40次
  1. 作用
    用来存储首选项的。本来首选项是存在磁盘上的,NSUserdefault相当于提供了一个缓存,不用每次都写文件。也就是说设置首选项以后,可以马上读出来,不必先写到磁盘中去。
    定期调用synchronize方法,把内存中的数据同步到磁盘中去。在程序退出时,一定要调用这个方法。
  2. 首选项的组织
    首选项存储是有层级结构的,每一级叫做域(domain)。查找时,按照域的等级查找,如果找到了,就停止查找。


    域及域的查找顺序

    volatile是指在下次启动之后就失效了。

  • Argument Domain
    就是从命令行启动时的参数啦
  • Application Domain
    就是平常使用的[NSUserDefaults standardUserDefaults]管理的内容,对应的实体文件存储在$HOME/Library/Preferences/目录下,名字叫做<ApplicationBundleIdentifer>.plist,
  • The Global Domain
    系统用的,APP一般用不到。比如语言啊啥的。 如果想覆盖系统设置的话,只需要在Application Domain里设置一样的key就好了。
  • The Languages Domains
    不同的语言有不同的习惯,如日期的表示方法等。存在这里。
  • The Registration Domain
    用来注册默认值。如果在以上所有的domain里都找不到,会从这里找。一般用来设置默认值。
  1. 监听默认值的变化
    NSUserDefaultsDidChangeNotification

    This notification is posted when a change is made to defaults in a persistent domain.

  2. 可以存储的类型

A default object must be a property list, that is, an instance of (or for collections a combination of instances of): NSData, NSString, NSNumber, NSDate, NSArray, or NSDictionary

持久化首选项实际上就是把要存储的内容encode到磁盘里,下次启动时在decode里。
这就是说,新版本必须可以decode旧版本的encode的内容,而这是很容易出错的,因此不要存储复杂的东西。最好是存储简单的变量,然后根据这些个变量来生成复杂的对象。

相关文章

  • NSUserdefault读书笔记

    作用用来存储首选项的。本来首选项是存在磁盘上的,NSUserdefault相当于提供了一个缓存,不用每次都写文件。...

  • NSUserDefault

    代码段一 此时打印结果:Jim 代码段二 此时打印结果:lucy注释代码段二,重新执行代码段一,发现打印结果仍旧是...

  • NSUserDefault

    存:[[NSUserDefaults standardUserDefaults] setObject:UIImag...

  • NSUserDefault

    NSUserDefaults 使用 NSUserDefaults是什么,有什么用处 对于应用来说,每个用户都有自己...

  • NSUserDefault

    1.NSUserDefaults可以直接存储的类型 2.使用 NSUserDefaults 存储自定义对象 参考链...

  • NSUserDefault

    NSUserDefaults * settings = [NSUserDefaults standardUserD...

  • NSUserDefault

    简介 它是单例的,并且是线程安全的,是以键值对的形式保存在沙盒中,最下面还是用plist文件进行保存。支持存储的数...

  • iOS NSUserDefaults 存储(二)

    单个删除NSUserDefault保存的数据 删除NSUserDefault保存的所有数据 我们先要取到plist...

  • iOS配置设置NSUserDefaults--文件管理三

    1、NSUserDefault的使用: 作用:NSUserDefault类提供了一个与默认系统进行交互的编程接口。...

  • 多种持久化方案分析

    NSUserDefault 一般来说,小规模数据,弱业务相关数据,都可以放到NSUserDefault里面,内容比...

网友评论

      本文标题:NSUserdefault读书笔记

      本文链接:https://www.haomeiwen.com/subject/csyfsttx.html