我想序列化一堆数据并将其保存到文件中,然后能够(自然地)加载它并使用我编写的功能播放它.(对不起,如果我的术语没有了,我就是这样的新手了.)iOS的最佳方法是什么?从这里查看文档:
我已经收集到我应该使用 NSSearchPathForDirectoriesInDomains来查找适当的存储目录根目录(Documents?),然后使用NSData存储我创建的这些数据缓冲区并将它们写入文件.我是否发现了这个或者我弄错了?还有其他的圣人建议吗?
Ben*_*oît 18
你可以使用plist.
在不使用核心数据的情况下保存字符串或其他数据列表非常容易.
请参阅" 属性列表编程指南
例如,此代码将保存一个对象(rootObj),该对象可以是数组或字典:
NSString *error;
NSString *rootPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
NSString *plistPath = [rootPath stringByAppendingPathComponent:@"yourFile.plist"];
NSData *plistData = [NSPropertyListSerialization dataFromPropertyList:rootObj
format:NSPropertyListXMLFormat_v1_0
errorDescription:&error];
if(plistData) {
[plistData writeToFile:plistPath atomically:YES];
}
else {
NSLog(@"Error : %@",error);
[error release];
}
Run Code Online (Sandbox Code Playgroud)
支持的课程有一些限制(参见指南)
zou*_*oul 14
这取决于您正在编写的数据.如果您最想要序列化对象,请参阅NSCoding协议.如果您有一些不是类的简单数据结构,您可以将其存储到一个 NSDictionary
并将其保存到plist中.如果您有大量数据(例如数千个浮点数或类似的东西),您可能希望使用NSData
已经暗示的方法保存它.在任何情况下,请务必阅读档案和序列化编程指南,以免您重新发明轮子.
归档时间: |
|
查看次数: |
51483 次 |
最近记录: |