writeToFile写入不成功

来源:互联网 发布:淘宝优惠券卖家发放 编辑:程序博客网 时间:2024/05/16 19:47

writeToFile与NSUserDefaults 存储类似:

1.存入的是基本类型,如NSNumber(NSInteger、float、double),NSString,NSDate,NSArray,NSDictionary,BOOL...

2.写入的数据不能为自定义类型或者Null,不过自定义类型可以通过归档将数据转化成NSDate类型。


归档和解档:

1.遵循NSCoding协议

在自定义类时,遵守NSCoding协议,实现以下两个方法

- (void)encodeWithCoder:(NSCoder *)aCoder;([aCoder encodeObject:self.name forKey:@"name"];

- (nullableinstancetype)initWithCoder:(NSCoder *)aDecoder;(self.name = [aDecoder decodeObjectForKey:@"name"];)

2.NSKeyedArchiver归档

Bool isSuccess = [NSKeyedArchiver archiveRootObject:对象 toFile:路径];


NSUserDefaults可先转化成NSData再进行存储:

 NSData *Data = [NSKeyedArchiver archivedDataWithRootObject:对象];


3. NSKeyedUnarchiver解档

类名 *对象 = [NSKeyedUnarchiver unarchiveObjectWithFile:路径];

0 0
原创粉丝点击