繁体   English   中英

在Objective-C中存储和加载大量数据的最佳方法

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM