iOS 学习笔记 8 NSUserDefaults学习


NSUserDefaults类用于保存应用程序设置和属性以及用户数据。例如,你可以存储用户在应用程序中使用的图片或默认颜色方案。这些对象存储在iOS所谓的“defaults系统”中。iOS的defaults系统在整个app中都是可用的,因此存放到defaults系统中的数据也是整个应用程序生命周期中可用的。也就是说,无论用户关闭程序还是关机,在用户再次打开程序或开机后这些数据仍然存在。你可以把它当做是一个小型的数据库。


NSUserDefaults可以存储的数据类型包括:NSData  NSString  NSNumber NSDate NSArray NSDictionary

如果你想保存其他类型,如UIImage,你应该进行编码,或者将它转换为NSData、NSNumber或者NSString。

      存储数据和读取数据有各种方法,需要注意的是,存储数据需要完成方法 synchronize:,这个方法完成的作用是同步数据,也就是将你做出改变的数据更新。

如:

[defaults synchronize]; 


NSUserDefaults的几个重要方法:

standardUserDefaults:创建共享默认设置对象的类方法(Java中的静态方法,单例)

objectForKey:返回键对象的实例方法  // 存在的返回,不存在的返回nil

setObject: forKey:以指定的键设置值的实例方法   //存在的修改,不存在的新建


因为setObject:必须用对象作参数,不接受简单类型。


解决办法为用NSNumber包一层:

[tempDate setObject:[NSNumber numberWithBool:YES] forKey:@"Flag"];

取出来用的时候相应的:

NSNumber* n = [tempDate objectForKey...];
BOOL b = [n boolValue]; 


- (void)viewDidLoad
{
    [superviewDidLoad];
   NSUserDefaults *myDefaults = [NSUserDefaultsstandardUserDefaults];
    [myDefaultssetObject:@"Hello"forKey:@"defaultKey"];
    
   NSLog(@"The value is %@",[myDefaultsobjectForKey:@"defaultKey"]);
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值