iOS-NSUserDefaults
2015-12-15 11:13
267 查看
NSUserDefaults总结:
1、存储类型2、存储自定义对象
3、设置默认值
4、删除NSUserDefaults
5、注意情况
NSUserDefaults在App更新和系统更新都保存,App卸载会删除
一般保存用户名或者一些配置的信息
1:存储类型
NSUserDefaults支持的数据类型有:NSNumber(NSInteger、float、double),NSString,NSDate,NSArray,NSDictionary,BOOL
NSUserDefaults不能存储可变类型(如:NSMutableArray、NSMutableDictionary)
2:存储自定义对象
自定义对象要先序列化、然后转为NSData、需要写一个encodeWithCoder 和 initWithCoder的函数
方式如下:实现下面的协议:
@protocol NSCoding - (void)encodeWithCoder:(NSCoder *)aCoder; - (nullable instancetype)initWithCoder:(NSCoder *)aDecoder; // NS_DESIGNATED_INITIALIZER @end
3:设置默认值
设置一个字典为相应的key值设置默认的value,如果某个key值原来有对应的value,则不会覆盖
NSDictionary *defaultValues = [NSDictionary dictionaryWithObjectsAndKeys: @"value", @"key",nil]; [[NSUserDefaults standardUserDefaults] registerDefaults:defaultValues];
4:删除NSUserDefaults
- (void)setObject:(nullable id)value forKey:(NSString *)defaultName; - (void)removeObjectForKey:(NSString *)defaultName;
5、注意情况
1)NSUserDefaults不能存储可变类型(如:NSMutableArray、NSMutableDictionary)
2)使用synchronize 可以直接写入disk
3)相同key值会替换
代码例子【https://github.com/nonoBruce/KYUserDefault】
相关文章推荐
- iOS tableView 改变头视图和脚视图的颜色
- IOS 开源框架:SDWebImage
- IOS中使用像素位图(CGImageRef)对图片进行处理
- iOS 返回父视图之后如何刷新页面
- iOS 学习日志 :开发中常用的注释方法以及代码块
- [iOS]iOS的字号转换问题
- iOS 开发获取当前时间 NSDate
- 定时器详述
- iOS音频播放(二):AudioSession
- iOS音频播放(一):概述
- iOS开发中善用日志记录工具
- iOS 开发常用技巧、推送
- [iOS]APP代码实践:建立一个辅助的APP类,减少对AppDelegate的修改
- iOS--CocoaPods的安装与使用记录
- iOS拨打电话功能的实现
- IOS开发之程序执行状态更改
- IOS8 AutoLayout和size classes 详解
- iOS自定义控件的问题及解决方法
- iOS instancetype or id ?
- 为什么安卓没有IOS流畅?看完你就明白了