核心数据和阵列
我需要存储这些值。核心数据和阵列
x值=时间
的y值1,Y-VALUE2,γ-值3,...,Y-value10
所以每次,有这些不同的y值的切片。这是两者之间的联系。
我对Core-Data方法论相当陌生,我听说将它们存储到数组中是不可能的。我不必查询它们,但是我确实需要在给定的会话之后将它们存储在数据库中(假设超过1000个条目 - 这就是为什么我不想首先将它们全部放入NSMutableArray)。
核心数据是解决这个问题的最实用的方法,还是有更好的解决方案来处理这些数据量。编辑: 到目前为止,我的模型看起来像这样。
实体1:时间片
属性:时间 - 浮动
关系:值
实体2:值
属性:yValue1,yValue2,yValue3, ...,yValue10 - float
它取决于每个yValue代表什么类型的变量,但它看起来像你可能以比你需要更尴尬的方式去做。您可以将它们放入数组中,然后将该数组存储在Core Data持久性存储中的NSData属性中。如果你真的不需要查询它们,那么我会确保yValue类实现encodeWithCoder:方法,详见这个问题:Converting a NSObject into NSData
然后,你可以创建一个这些对象的数组,并将整个数组存储在NSData对象并将其存储在实体的单个属性中。这可能是存储它的最有效方式。然后,您的核心数据模型是这样的:
实体 - 时间输入
属性:时间 - NSNumber的
属性:yValues - NSData的
使用,你也可以查询该核心数据模型特定时间(或一组时间),然后根据需要取消存档NSData对象。
如果您要创建一个“类型”的对象,关系会更好。一个典型的例子是公司 - >经理 - >员工范例。每个公司,经理和员工都将是一个实体。从公司到多位管理人员以及从每位经理到多名员工将会有多对多的关系。你也可以让每个员工分配到多个经理等等。
感谢您的意见。我会试试这个:) – freedom 2013-02-16 02:50:39
核心数据支持有序关系,我认为从iOS5开始。编辑多对多关系时,只需在复选框中选择“排序”即可。
你应该展示更多的代码加上你的模型。否则,这是比猜测,而不是回答。但是,我猜你应该将数组值存储在单独的表中,并使用一对多关系引用数组的成员。 – 2013-02-13 23:13:50
请检查我的编辑。我还没有编码,但我只是想知道我是否正在核心数据阵列方面朝着正确的方向前进。 – freedom 2013-02-13 23:24:23