了解核心数据关系

时间:2015-07-01 13:37:28

标签: core-data

我正在开发一个iOS应用程序,允许用户跟踪他们的股票购买历史记录。在我的Stock实体中,我保存了股票代码,公司名称,最后交易价格,变更,并根据购买的股票总数和价格来计算利润,这一切都正常。

现在,我想根据用户在已保存的股票列表中选择的股票向用户显示购买历史记录。

我打算在表格视图中向用户显示每笔交易,这将显示他们是否已售出或购买,股票的数量以及价格。如果使用to-many关系,我假设我应该为Purchase创建一个新实体,它跟踪卖出或购买,股票数量和价格。那么我只是将该对象插入存储在我的Stock实体中的数组作为可转换属性吗?

为此使用多对多关系会更有利,而不是尝试将所有内容存储到单个Stock实体中吗?

我一直在阅读核心数据建模,但我还没有以这种方式处理过关系,所以我只是在寻找一个关于我的逻辑是否合适的指导。

1 个答案:

答案 0 :(得分:1)

核心数据中的关系是对象关联。如何被持久化被故意抽象出来。

当您在模型中定义关系时,例如一对多,然后在一方,让我们说Stock您将拥有一个名为-purchases的属性,它返回或接受{ {1}}。在NSSet方面,您将拥有一个名为Purchase的属性,该属性将返回与该购买关联的-stock Stock个实例。

您不会将变形属性与关系一起使用,因为关系是具有核心数据的一等公民。