This answer可能会帮助你。使用核心数据在这里可能是过度的,保存到plist是非常容易的。这是从链接的问题伯努瓦的回答是:
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];
}
其中rootObj
是你想序列化,在这种情况下,您的阵列/字典的对象。
另外,如果你要经常你的应用程序的过程中被读取/写入这些数据,使用singleton它可以使一个巨大差的性能代价,而不是不断地读/自写/到一个文件。您可以在应用程序启动时将所有数据加载到单例中,并在applicationWillTerminate
上保存。
要回答你的数组/字典问题,这取决于你如何获得你的字符串以及你希望如何订购它们。对数组排序非常简单,您可以在this答案中看到。
感谢您的回复,Rickay。你一直很彻底。然而,我发现了一个教程,同样的事情,我认为它更适合我的需求:http://ipgames.wordpress.com/tutorials/writeread-data-to-plist-file/ 此外,感谢单身人士的建议,但现在我不太了解它是如何工作的以及如何使用它。如果我真的遇到问题,可能我会回到这个问题。 我会试试这个方法,如果有任何问题会回来 – 2012-02-05 19:23:51
好的,祝你好运! – 2012-02-05 19:32:50
谢谢,我需要它;)接近开发我的第一个应用程序的结尾,所以我非常兴奋:D – 2012-02-05 19:34:40