Foundation--NSUserDefaults

来源:互联网 发布:排序算法对比 编辑:程序博客网 时间:2024/06/11 09:37

NSUserDefaults可以用来存储一些用户默认的设置,但是并不是所有的东西都能进行存储,NSUserDefault只支持:NSString、NSNumber、NSData、NSArray、NSDictionary。并且,如果把一个自定义的类存入数组再存入NSUserDefaults也是不成功的。NSUserDefault的使用举例:

NSUserDefaults *userDefaults = [NSUserDefaultsstandardUserDefaults];[userDefaults setObject:@"ChenPeng"forKey:@"name"];NSString *name = [userDefaults objectForKey:@"name"];//name=ChenPeng

如果需要将自定义的对象存放到NSUseDefaults中,需要让该自定义类实现<NSCoding>协议中的- (void)encodeWithCoder:(NSCoder *)aCoder、和- (id)initWithCoder:(NSCoder *)aDecoder两个方法,当存储的时候通过NSKeyedArchiver类将自定义对象归档为NSData对象进行存储,获取的时候通过NSKeyedUnarchiver类将NSData数据反归档获得之前存储的自定义对象。

0 0