iOS开发随笔记之 常量声明和NSUserDefaults

在iOS中,常量声明一般使用2种方式
1、使用C语言的预处理方式

#define APP_NAME @“demo”
#define kURL @“http://www.google.com”


2、使用extern cnst c关键字,extern 表示该变量已经声明过,只是一个引用,cnst表示该变量是一个常量,不可修改。

extern NSString * const kURL;


NSString * const kURL = @"http://marshal.easymorse.com";

[b]NSUserDefaults[/b]
NSUserDefaults类用于保存应用程序设置和属性以及用户数据。例如,你可以存储用户在应用程序中使用的图片或默认颜色方案。这些对象存储在iOS所谓的“defaults系统”中。iOS的defaults系统在整个app中都是可用的,因此存放到defaults系统中的数据也是整个应用程序生命周期中可用的。也就是说,无论用户关闭程序还是关机,在用户再次打开程序或开机后这些数据仍然存在。NSUserDefaults可以存储的数据类型包括:
NSData
NSString
NSNumber
NSDate
NSArray
NSDictionary
如果你想保存其他类型,如UIImage,你应该进行编码(即archive),或者将它转换为NSData、NSNumber或者NSString。

查看NSUserDefaults,说到底该对象就是一个dictionary的数据结构。

NSDictionary* defaults = [[NSUserDefaults standardUserDefaults] dictionaryRepresentation];
NSLog(@"Defaults: %@", defaults);


查看NSUserDefaults中某一项的值:

NSArray *array = [[NSUserDefaults standardUserDefaults] objectForKey:@"AppleKeyboards"];
NSLog(@"Keyboards: %@", array);


往NSUserDefaults中设置一个值:

[[NSUserDefaults standardUserDefaults] setObject:@"test-value2" forKey:@"test-key"];
重复给一个Key赋值,后面的会覆盖前面的。

把缓存中的数据同步到后台,程序崩溃时,未同步到后台的数据会丢失。

[[NSUserDefaults standardUserDefaults] synchronize];


最后,NSUserDefaults是单例的,同时也是线程安全的。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值