ios之NSUserDefault存储自定义类型的对象
2016-07-29 17:04
393 查看
ios中存储小数据的类NSUSerDefault只能存储NSNumber(Integer、Float、Double),NSString,NSDate,NSArray,NSDictionary,BOOL类型,要是存储其他类型的对象,会提示或报错“Attempt to set a
non-property-list object”。其实存储自定义类型对象也是可以的,步骤如下:
1.自定义类需继承NSCoding:
2.存储的时候用归档转换成NSData,取出的时候从NSData再转换成需要的类型
non-property-list object”。其实存储自定义类型对象也是可以的,步骤如下:
1.自定义类需继承NSCoding:
2.存储的时候用归档转换成NSData,取出的时候从NSData再转换成需要的类型
- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. [self userdefaultTest]; } #pragma mark -NSUserDefault存储自定义对象 -(void)userdefaultTest { CustomClass *cc = [[CustomClass alloc] init]; cc.name = @"helly"; cc.age = 24; NSUserDefaults *userd = [NSUserDefaults standardUserDefaults]; NSData *data = [NSKeyedArchiver archivedDataWithRootObject:cc]; [userd setObject:data forKey:@"person"]; [userd synchronize]; CustomClass *ccc = (CustomClass *)[NSKeyedUnarchiver unarchiveObjectWithData:[userd objectForKey:@"person"]]; NSLog(@"ccc=%@",ccc); }
相关文章推荐
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 不可修补的 iOS 漏洞可能导致 iPhone 4s 到 iPhone X 永久越狱
- iOS 12.4 系统遭黑客破解,漏洞危及数百万用户
- 每日安全资讯:NSO,一家专业入侵 iPhone 的神秘公司
- [转][源代码]Comex公布JailbreakMe 3.0源代码
- 讲解iOS开发中基本的定位功能实现
- iOS中定位当前位置坐标及转换为火星坐标的方法
- js判断客户端是iOS还是Android等移动终端的方法
- iOS应用开发中AFNetworking库的常用HTTP操作方法小结
- iOS应用中UISearchDisplayController搜索效果的用法
- iOS App开发中的UISegmentedControl分段组件用法总结
- IOS开发环境windows化攻略
- iOS应用中UITableView左滑自定义选项及批量删除的实现
- iOS中UIAlertView警告框组件的使用教程
- 浅析iOS应用开发中线程间的通信与线程安全问题
- iOS中的UIKeyboard键盘视图使用方法小结
- 检测iOS设备是否越狱的方法
- .net平台推送ios消息的实现方法