ios - 核心数据和数组

标签 ios objective-c core-data nsmutablearray

我需要存储这些值。

x 值 = 时间

y 值 1、y 值 2、y 值 3、...、y 值 10

因此,每次都有不同的 yValue 切片。这就是两者之间的关联。

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

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

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


实体 1:时间片

属性:时间- float

关系:值(value)观


实体 2:值(value)观

属性:yValue1、yValue2、yValue3、...、yValue10 - float

最佳答案

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

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

实体 - 时间输入

属性:时间 - NSNumber

属性:yValues - NSData

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

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

关于ios - 核心数据和数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14864951/

相关文章:

iOS:在应用程序处于后台时监视连接到 Wifi 设备的套接字

ios - 使用 iphone mapkit 获取点击坐标

ios - 尝试呈现 View Controller 警告

core-data - 核心数据和 transient 属性

ios - 为什么我的 Apple Watch 并发症没有显示任何东西?

iphone - 单击 TableView 会将您带到另一个 View

ios - 应用内购买以填充核心数据

ios - 如何在 Swift 中聚合

objective-c - cocoa /查找器 : weird path

objective-c - 如何使用 objective C/cocoa 以编程方式发送电子邮件