建议为iOS应用程序存储预先填充的数据(图像+文本)

时间:2014-01-26 02:29:51

标签: ios objective-c core-data plist

我已经为iOS构建了一个配方应用程序,最近因为有缺陷的SSD驱动器和我惊人的愚蠢没有支持任何内容而丢失了我的所有代码。我吸取了教训,但我没有尝试再次构建相同的应用程序,而是希望这次能够更聪明一点。

我一直有的问题是添加新食谱是一个巨大的痛苦,因为它们的存储方式:我将每张图片命名为“recipe_X.png”,我有一个文本文件,其中包含一串逗号分隔的行以及以下内容格式“标题,副标题,数量1,成分1,数量2,成分2 ...”。 然后我会运行一个从1到X的while循环并读取配方信息并加载图像。

这个工作正常,但添加10个新配方需要几个小时,因为我需要填写所有数据,调整所有图像的大小,重命名它们,然后测试每个配方以确保名称不会太长。输入数据时我有时会错过一条线,一切都会搞砸。我还对我的应用进行了本地化,这只花费了多倍的时间。

我想知道什么是存储数据的更好方法,因为它知道它是只读的,数据大小相对较小,我主要担心的是预先填充数据的难易程度。核心数据库看起来很棒,但不是最简单的预填充数据。

我喜欢techzen的建议,但我想要一个关于如何将NSArray保存为静态文件的示例: Prepopulated stored data in iOS4

任何建议表示赞赏。

1 个答案:

答案 0 :(得分:0)

我建议查看NSCoding协议。考虑到UIImage符合此协议,您可以创建一个模型类,其中包含符合NSCoding的图像,标题,副标题等属性。将此对象的实例添加到NSArray,然后调用:

[NSKeyedArchiver archiveRootObject:theArray toFile:someFilePath];