我正在制作一个会使用大量数据的应用程序,例如~100个条目,每个条目包含多个图像,> 250个单词的文本和多个1个单词/字符值。
我只想知道在目标c中执行此操作的最佳做法?
例如,我是否有一个包含所有值的纯文本文件,然后在运行时读取它?
或者我需要创建一个包含所有这些值的对象吗?
我希望这不使用网络资源,因为我希望该应用能够离线运行。
答案 0 :(得分:2)
你有很多选择。您可以将数据存储在plists中,为它们创建对象并序列化为文件或使用数据库。对于您的特定场景,我建议存储在像sqlite这样的数据库中。
答案 1 :(得分:2)
一百条记录,每条记录可能有几十个字段,但不是很多数据。我建议将数据存储为属性列表,可能是一组字典。这是最简单的解决方案,可能足以满足您的需求。加载数据可能非常简单:
NSArray *records = [[NSArray alloc] initWithContentsOfFile:pathToFile];
数组中的每个条目都可以是一个字典,其中包含记录中每个字段的键。这为您提供了很大的灵活性。您当然可以单独访问每条记录,但您也可以使用NSPredicate选择与您指定的条件匹配的记录子集。您还可以对数组使用键值编码来获取特定键的所有值的数组。例如,如果您想要每个记录的“名称”字段数组,您可以说:
NSArray *names = [records valueForKey:@"name"];
有一个像SQLite和Core Data这样的解决方案的地方,但是对于这么小的数据集你可能不需要它们。