0

我需要存储这些值。

x 值 = 时间

y-value1, y-value2, y-value3, ... , y-value10

所以每次都有这些不同的 yValue 切片。这就是两者之间的关联。

我对 Core-Data 方法相当陌生,我听说将它们存储到数组中是不可能的。我不必查询它们,但我确实需要在给定会话之后将它们存储在数据库中(假设超过 1000 个整体——这就是为什么我一开始不想将它们全部放在 NSMutableArray 中)。

Core-Data 是解决这个问题的最实用方法,还是有更好的解决方案来处理如此大量的数据。

编辑:到目前为止,我的模型看起来像这样。


实体 1:时间片

属性:时间-浮动

关系:价值观


实体 2:价值观

属性:yValue1, yValue2, yValue3, ..., yValue10 - 浮点数

4

2 回答 2

1

这取决于每个 yValue 代表什么类型的变量,但看起来你可能会以一种比你需要的更尴尬的方式来处理它。您可以将它们放在一个数组中,然后将该数组存储在 Core Data 持久存储中的 NSData 属性中。如果您真的不需要查询它们,那么我将确保 yValue 类实现了 encodeWithCoder: 方法,如以下问题所述:Converting a NSObject into NSData

然后,您可以创建这些对象的数组,并将整个数组存档在 NSData 对象中,并将其存储在实体的单个属性中。这可能是最有效的存储方式。您的核心数据模型将如下所示:

实体 - 时间输入

属性:时间 - NSNumber

属性:yValues - NSData

使用此核心数据模型,您可以查询特定时间(或一组时间),然后根据需要取消归档 NSData 对象。

如果您要创建对象的“类型”,则关系会更好。一个典型的例子是公司->经理->员工范式。每个公司、经理和员工都是一个实体。从公司到许多经理,从每个经理到许多员工,都会有一对多的关系。您还可以将每个员工分配给多个经理等。

于 2013-02-14T00:55:42.673 回答
0

Core Data supports ordered relationships, I think from iOS5 onward. Just select "ordered" in the checkbox when editing a to-many relationship.

于 2013-02-14T01:03:20.820 回答