为简单起见,我们假设我们有以下简单的类接口:
@interface Person : NSObject <NSCoding> {
NSString *firstname;
NSString *lastname;
}
@property (copy) NSString *firstname;
@property (copy) NSString *lastname;
@end
是否可以将此对象序列化为plist(假设NSCoding协议正确实现)?
2010年12月31日14:40更新
我对此有一些跟进问题.是否可以让NSKeyedArchiver将plist导出为XML?此外,是否可以将XML转储到变量而不是文件?
最佳答案 至于将输出格式设置为XML,我建议:
[myKeyedArchiver setOutputFormat: NSPropertyListXMLFormat_v1_0];
至于将它变成变量而不是文件,我建议使用initForWritingWithMutableData:初始化器创建NSKeyedArchiver.完成编码后,
确保在其上调用finishEncoding,然后XML将在您在初始时传入的NSMutableData中.
如果您需要从中获取NSString,可以从NSMutableData中获取,如下所示:
NSString* xmlString = [[NSString alloc] initWithData: myMutableData encoding: NSUTF8StringEncoding];
这应该够了吧.祝好运!