【发布时间】:2014-08-15 07:42:47
【问题描述】:
我已经阅读了很多关于如何保存自定义对象的问题,但我不知道。我不知道下一步该做什么,这就是为什么我要问一个问题。
将自定义对象保存在 plist 文件中
NSLog(@"%@",self.drawingView.pathArray);
NSData *arrayData = [NSKeyedArchiver archivedDataWithRootObject:self.drawingView.pathArray];
[arrayData writeToFile:[DOCUMENTPATH stringByAppendingPathComponent:@"1.plist"] atomically:YES];
控制台操作
(
"<PenTool: 0xa031f80;>",
"<PenTool: 0x8b2b360;>",
"<PenTool: 0xa03aca0;>",
"<PenTool: 0x8b38780;>"
)
上面的代码工作正常。保存在 plist 中。现在我想取回该 plist 中的所有对象。
从 plist 中读取
NSData *data=[NSData dataWithContentsOfFile:[DOCUMENTPATH stringByAppendingPathComponent:@"1.plist"]];
self.pathArray = [NSKeyedUnarchiver unarchiveObjectWithData:data];
我在这里获取数据。但不是数组。我已经读过这方面的信息,但有人说你必须unarhive数据。但我不知道如何取消归档。
编辑
我知道我必须使用以下两种方法,但没有得到一个想法。
- (id)initWithCoder:(NSCoder *)aDecoder
{
self = [super initWithCoder:aDecoder];
return self;
}
- (void)encodeWithCoder:(NSCoder *)encoder {
}
有没有其他方法可以将自定义对象存储在文件中。
【问题讨论】:
标签: ios objective-c