[英]Best way to store and load large amount of data in Objective-C
我正在制作一个会使用大量数据的应用程序,例如~100个条目,每个条目包含多个图像,> 250个单词的文本和多个1个单词/字符值。
我只是想知道在目标c中做到这一点的最佳实践?
例如,我是否有一个包含所有值的纯文本文件,然后在运行时读取它?
或者我需要创建一个包含所有这些值的对象?
我希望这不使用Web源,因为我希望应用程序能够脱机运行。
你有很多选择。 您可以将数据存储在plists中,为它们创建对象并序列化为文件或使用数据库。 对于您的特定场景,我建议存储在像sqlite这样的数据库中。
一百个记录,每个记录可能有几十个字段,并不是很多数据。 我建议将数据存储为属性列表,可能是一组字典。 这是最简单的解决方案,可能足以满足您的需求。 加载数据可能非常简单:
NSArray *records = [[NSArray alloc] initWithContentsOfFile:pathToFile];
数组中的每个条目都可以是一个字典,其中包含记录中每个字段的键。 这为您提供了很大的灵活性。 您当然可以单独访问每条记录,但您也可以使用NSPredicate选择与您指定的条件匹配的记录子集。 您还可以对数组使用键值编码来获取特定键的所有值的数组。 例如,如果您想要为每条记录添加“name”字段的数组,您可以说:
NSArray *names = [records valueForKey:@"name"];
有一个像SQLite和Core Data这样的解决方案的地方,但是对于这么小的数据集你可能不需要它们。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.