zoukankan      html  css  js  c++  java
  • NSUserDefaults 的用法

    NSUserDefaults适合存储轻量级的本地数据,比如要保存一个登陆界面的数据,用户名、密码之类的使用NSUserDefaults是首选。下次再登陆的时候就可以直接从NSUserDefaults里面读取上次登陆的信息。因为如果使用自己建立的plist文件什么的,还得自己显示创建文件,读取文件,很麻烦,而是用NSUserDefaults则不用管这些东西,就像读字符串一样,直接读取就可以了。

    该数据实际上是以“键值对”形式保存的(类似于NSDictionary),因此我们需要通过key来读取或者保存数据(value)。

    NSUserDefaults支持的数据格式有:

    NSNumber(Integer、Float、Double),NSString,NSDate,NSArray,NSDictionary,BOOL类型

    NSUserDefaults有2方法:

    saveNSUserDefaults:用于将各种类型数据保存到NSUserDefaults中;

    readNSUserDefautls:用于从NSUserDefaults中读取各种类型的数据。在viewDidLoad中调用这两个方法就可以看出结果;

    获取一个NSUserDefaults引用

    NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
    

     保存数据

    [userDefaults setInteger:1 forKey:@"crp"];
    [userDefaults synchronize];
    

     读取数据

    int i = [userDefaults integerForKey:@"crp"];
    
    //保存数据:
    NSData *objColor = [NSKeyedArchiver archivedDataWithRootObject:[UIColor redColor]];
    [[NSUserDefaults standardUserDefaults]setObject:objColor forKey:@"myColor"];
    //读取数据:
    NSData *objColor = [[NSUserDefaults standardUserDefaults]objectForKey:@"myColor"];
    UIColor *myColor = [NSKeyedUnarchiver unarchiveObjectWithData:objColor];
    
    if (isRememberName) {
    //设置用户名和密码 [user setObject:userNameField.text forKey:@"userName"]; [user setObject:passwordField.text forKey:@"passWord"]; [user synchronize]; }else{
    //取消记住密码 [user removeObjectForKey:@"userName"]; [user removeObjectForKey:@"passWord"]; //调用synchronize函数将立即更新这些默认值。 [user synchronize]; }
    其实它存储在应用程序内置的一个plist文件里,这个可以根据路径看到。
    比如说这个是你的程序沙盒位置
    /UsersLibrary/Application Support/iPhoneSimulator/4.1/Applicati*****/29788E40-AF47-45A0-8E92-3AC0F501B7F4/,(这个是应用程序对应在mac上的位置)
    这个下面有/Library/Prefereces,里面有个plist文件,存储的就是你的userDefaults
    想要删掉的话,用removeObjectForKey或者删掉沙盒,也就是你的应用程序然后重新安装。
  • 相关阅读:
    Vim
    一文搞定Samba云服务器配置(阿里云)CentOS8.3
    第四课 婴儿是如何思考的 思维的发展历程
    C++/VS基础篇
    Windows下Qt VS 打包程序 到他人电脑安装运行出现的问题
    第三课 斯金纳
    第二课基础 弗洛伊德
    C++中头文件和实现文件的关系
    字符串 数字 转换
    Ucore lab1实验报告
  • 原文地址:https://www.cnblogs.com/penger/p/4148870.html
Copyright © 2011-2022 走看看