到目前为止,我一直在使用NSUserDefaults
保存我的NSMutableDictionaries
,但现在我想保存一个看起来像这样的字典:它将保存Car
带有键的不同对象:汽车的模型。该类Car
将具有其基本特征的字典和Person
对象字典(使用汽车的人)。每个Person
班级都有个人信息作为属性。我可以做其他所有事情,但不能保存第一个NSMutableDictionary
保存所有这些信息的内容。(字典必须只包含非属性值错误)什么是保存它的合适方法?
问问题
620 次
2 回答
2
您必须使用 NSKeyedArchiver 之类的存档器将您的对象序列化/反序列化为 NSData 存档。
图表中的所有对象
- 车
- 人
- 这些对象的所有属性都不是值对象(即不是 NSString、NSDate、NSArray、NSNumber、...)
必须采用 NSCoding 协议。为此,您使用:
-(id)initWithCoder:(NSCoder *)coder
{
// Tell the unarchiver how to read your object properties from the archive
_oneObjectProperty = [coder decodeObjectForKey:@"propertyKey"];
.....
}
-(void)encodeWithCoder:(NSCoder *)coder
{
// Tell the archiver how to serialise your object properties
[coder encodeObject:_oneObjectProperty ForKey:@"propertyKey"];
....
}
你会在这里找到代码示例: Why NSUserDefaults failed to save NSMutableDictionary in iPhone SDK?
于 2013-07-09T10:46:17.610 回答
0
您可以使用NSKeyedArchiver
来保存对象并NSKeyUnarchiver
检索它们。
于 2013-07-09T10:45:00.153 回答