• ios中NSUserDefaults的使用方法


    ios中NSUserDefaults的使用方法


           NSUserDefaults类提供了一个与默认系统进行交互的编程接口。NSUserDefaults对象是用来保存。恢复应用程序相关的偏好设置,配置数据等等

    默认系统同意应用程序自己定义它的行为去迎合用户的喜好。你能够在程序执行的时候从用户默认的数据库中读取程序的设置。同一时候NSUserDefaults的缓存避免了在每次读取数据时候都打开用户默认数据库的操作。

    能够通过调用synchronize方法来使内存中的缓存与用户默认系统进行同步。

           NSUserDefaults类提供了很方便的方法来获取经常使用的类型,比如floats,doubles,intergers,Booleans,URLs。

    所以一个NSUserDefaults的对象必须是属性表。这也就是说我们能够存储NSData,NSString,NSNUmber,NSDate,NSArray,NSDictionary这些实例。假设你想存储其它类型的对象。你要将其归档并创建一个NSData来实现存储。

          从NSUserDefaults返回的值是不可改变的,即便是你在存储的时候使用的是可变的值。比如你使用mutable string做为“MyStringDefault”的值。当你做使用stringForKey:方法获取的值。这个值仍然是不可变的。

    NSUserDefaults是单例。同一时候也是线程安全的

    在使用NSUserDefaults的时候。

    先看下以下的代码

    NSDictionary* defaults = [[NSUserDefaults standardUserDefaults] dictionaryRepresentation];

    NSLog(@"Defaults: %@", defaults);

    是用来获取设备上的全部的NSUserDefaults的设置。


    NSUserDefaults适合存储轻量级的本地数据比方要保存一个登陆界面的数据,username、password之类的。个人认为使用NSUserDefaults是首选。下次再登陆的时候就能够直接从NSUserDefaults里面读取上次登陆的信息咯。

    由于假设使用自己建立的plist文件什么的。还得自己显示创建文件。读取文件,非常麻烦。而是用NSUserDefaults则不用管这些东西。就像读字符串一样。直接读取就能够了。

    NSUserDefaults非常方便,读取也非常easy。


    创建一个user defaults方法有多个,最简单得高速创建方法:

    1. NSUserDefaults *accountDefaults = [NSUserDefaults standardUserDefaults];  

    加入数据到 user defaults:

    1. [accountDefaults setObject:nameField.text forKey:UserDefaultNameKey];  

    也能够加入基本数据类型int, float, bool等。有对应得方法

    1. [accountDefaults setBool:YES forKey:UserDefaultBoolKey];  

    user defaults中获取数据:

    1. [accountDefaults objectForKey:NCUserDefaultNameKey]    
    2. [accountDefaults boolForKey: UserDefaultBoolKey];  

    要点: 

    NSUserDefaults很好用,并不须要用户在程序中设置NSUserDefaults的全局变量。须要在哪里使用NSUserDefaults的数据。那么就在哪里创建一个NSUserDefaults对象,然后进行读或者写操作。

    针对同一个keyword相应的对象或者数据,能够对它进行重写,重写之后keyword就相应新的对象或者数据。旧的对象或者数据会被自己主动清理。



  • 相关阅读:
    amq笔记:记一个关于PooledConnectionFactory的问题
    ganglia笔记:rrd数据库
    ganglia笔记:rrds目录
    golang笔记:unsupported driver -> Scan pair: <nil> -> *string
    golang笔记:cookie
    golang笔记:net/smtp
    spring笔记
    Qt坑点汇总
    QT自定义控件系列(二) --- Loading加载动画控件
    Qt自定义控件系列(一) --- 圆形进度条
  • 原文地址:https://www.cnblogs.com/gccbuaa/p/6911722.html
Copyright © 2020-2023  润新知