1

我有一个NSManagedObjectSharePrices,其中包含DateTime属性和NSNumbers股价,并存储在标准核心数据“数据库”中。由于我想按月对一些股价进行分组,我想为每个月创建新的 SharePrice 对象并在每个对象中存储当月的平均股价,日期将设置为月。

我怎样才能将此每月信息存储在我的 SharePrices 中NSManagedObject,而无需通过使用insertNewObjectForEntityForName并将其保存到商店来创建它。还是我需要为托管对象创建一个类别并将分组代码放在那里?基本上,我只想在没有任何核心数据支持的情况下重用我现有的 SharePrice 结构。

谢谢!

4

1 回答 1

1

我强烈建议不要NSManagedObject在数据库上下文之外重新使用派生对象。在这里和那里重用几个字段的机会不值得失去这种方法所导致的清晰度。

问题是,您计划创建的聚合股价对象不代表股价 - 相反,它代表一段时间内的股价聚合。因此,使用同一个类来表示两种对象并不是一个好主意:它们在概念上是不同的。您的方法的另一个问题是,它NSManagedObject包含了很多在数据库上下文之外没有用的东西,例如对象 ID、对托管对象上下文的引用等等。让它们处于无意义的状态会误导任何维护您的应用程序的人。

于 2012-07-26T14:32:08.203 回答