NSUserDefault的使用

Posted 码农的空间

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NSUserDefault的使用相关的知识,希望对你有一定的参考价值。

NSUserDefaults 在我们编写代码中是最常用的一个永久保存数据的方法,也是最简单的。

使用NSUserDefault需要注意:

1.数据的本地化保存不是实时的,如果需要实时保存,调用synchronize方法。

2.保存的数据必须是“不可变的”。

3.保存数据数据使用 setObjectforKey(不同数据类型提供了不同的方法,例如保存Integer使用SetIntegerforKey等),同理读取使用ObjectforKey(IntegerforKey)。

 

- (void) btnClick : (UIButton*) sender {
    NSInteger tag = sender.tag;
    
    NSUserDefaults *def = [NSUserDefaults standardUserDefaults];
    if(tag == 101) {
        [def setInteger:31 forKey:@"age"];
        [def setObject:@"harry" forKey:@"name"];
        NSArray *array = [NSArray arrayWithObjects:@"tongji", @"cumt", @"wsyz", nil];
        [def setObject:array forKey:@"edu"];
        //强制写入文件
        [def synchronize];
    } else if (tag == 102) {
        NSInteger age = [def integerForKey:@"age"];
        NSString *name = [def objectForKey:@"name"];
        NSArray *edu = [def objectForKey:@"edu"];
        
        NSLog(@"name is %@, age is %ld, edu is %@", name, (long)age, edu);
    }
}

  

 

以上是关于NSUserDefault的使用的主要内容,如果未能解决你的问题,请参考以下文章

读取 NSUserDefault 布尔值

如何在 NSUserDefault 中保存我的数据类型?

NSUserDefault 有时不会保存自己

NSUserDefault 同步后退按钮 swift

Xcode 中的 NSUserDefault

使用 Alamofire 时如何将令牌存储在 NSUserDefault 中?