Kei*_*ald 0 cocoa objective-c nskeyedarchiver
希望这个标题足够清楚.无论如何,似乎:
[NSKeyedArchiver archiveRootObject:rootObject toFile:path];
Run Code Online (Sandbox Code Playgroud)
仅限于NSPropertyListBinaryFormat_v1_0.
我需要格式是人类可读的[所以xml].如果您有兴趣,这是项目的一部分,我最终会在github上刊登一篇关于"如何对GPS应用进行单元测试"的博客文章
:-)
你必须用来NSPropertyListSerialization转换它.基本上,假设调用您正在序列化的对象myObject并存储最终文件myPath,您可以使用类似下面的代码片段将其序列化为XML:
NSString *error = nil;
NSData *mySerializedObject = [NSKeyedArchiver archivedDataWithRootObject:myObject];
NSData *xmlData = [NSPropertyListSerialization dataFromPropertyList:mySerializedObject
format:NSPropertyListXMLFormat_v1_0
errorDescription:&error]:
if( xmlData ) {
[xmlData writeToFile:myPath atomically:YES];
} else {
NSLog(error);
[error release];
}
Run Code Online (Sandbox Code Playgroud)
不要使用类方法,而是尝试创建NSKeyedArchiver的实例并使用setOutputFormat:NSPropertyListXMLFormat_v1_0指定XML格式.唯一的缺点是它需要一些额外的代码行,因为实际处理序列化,它不会只是一步返回NSData对象.
| 归档时间: |
|
| 查看次数: |
5222 次 |
| 最近记录: |