使用什么数据结构或数据持久化技术?

6
我有一个应用程序,需要一个包含以下字段的信息表格:
字段1 - 整数或字符 字段2 - 字符串(最多10个字符) 字段3 - 字符串(最多20个字符) 字段4 - 浮点数
我需要程序基于分段控制器对字段1进行筛选,并从选择器中选择字段2。根据这些数据,我需要查找字段4并进行计算。总记录数将约为200条,不会超过400-500条。我将使用单例模式,我可以编码,但我需要帮助确定数据持久性的结构。
为此,我应该使用什么类型的数据结构?我应该使用NSNumber、NSString等还是旧的数据类型如float、Char等?我考虑过将一个结构体放入数组中,但可能有更好的方法。这对我来说是新的领域,所以任何帮助或示例的参考都将非常棒。我也考虑过使用plist或字典,但看起来只是一个查找和字段,显然行不通。Core Data 对我来说似乎太过复杂了。另外,关于如何将初始数据放入其中,您有什么建议吗?我希望用户能够编辑和添加到数据库中。

这是什么平台?我猜是iPhone...? - Eric J.
2个回答

1

Core Data并不是“过度设计” - 这正是它为您设计的类型。您可能习惯了“数据库”昂贵而笨重,但Core Data建立在超小型和快速的sqlite之上。相信我,对于您的情况,这不会成为问题。


0

我认为对于你想做的事情,结构体应该可以很好地工作。我假设对于任何特定的记录,字段1-4都涉及同一条记录。在这种情况下,您可以使用结构体来表示记录。

现在,似乎您不知道如何有效地索引这些记录。我建议将记录本身存储在一个 listvector 中。实际上,如果您认为您将要进行大量删除操作,那么使用 list 可能是最好的选择。这样,您可以直接索引到要删除的元素,然后以常数时间删除。然后,您可以使用几种不同的数据结构创建对 listvector 中元素的索引。您可以使用 map 或数组来基于整数索引字段1进行直接映射。

然后,您可以使用一个按字段2进行映射的 map 或哈希表...这将为您提供几种不同的记录索引方式。

记住只存储对您创建的结构体的引用...这样就不会在各个地方重复记录。

在这些数据结构周围创建包装器单例不应该太难。最困难的部分将是确保您正确地删除/插入所有内容,除此之外,它应该能够正常工作。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接