【发布时间】:2014-04-14 18:30:42
【问题描述】:
我正在尝试编写一个简单的个人理财应用程序供自己使用,并遇到以下问题,想知道是否有人可以帮我解决问题。
我的数据模型非常简单,我有一个“帐户”托管对象,它有一个“事务”托管对象的 NSSet,而后者又具有一个“拆分”托管对象的 NSSet。
“拆分”对象具有类别和金额,因此任何交易都可以由具有不同金额的多个类别组成。例如,交易总额为 40 英镑,由 25 英镑 - 食品和 15 英镑 - 燃料等组成
“事务”托管对象还可以与另一个“事务”托管对象具有可选的 1 对 1 关系。这是在我想代表转会时使用的。因此,我有 2 个具有相同属性(如日期等)的“交易”对象,但每个都属于不同的“帐户”,因此当我查询帐户的交易列表时会显示出来。
我已经覆盖了像 setDate 这样的“事务”托管对象上的适当设置器,因此当调用它时,它会检查它是否有另一个“事务”托管对象链接到它,如果有,也会更改日期那笔交易。这样一来,对一项交易所做的更改就会反映在另一项帐户交易中。
还和我在一起..?现在问题出在事务的“拆分”对象的 NSSet 上。
假设我在账户 A 中创建了一个新交易。 我设置了交易日期 我为交易创建了一个“拆分”对象,为了争论,它有一个 20 英镑的食物类别。 然后在我的 UI 中,我说这个交易是一个转移。这提示我选择要转移到的帐户,我选择帐户 B。 在后台,创建了一个新的“交易”对象,其账户设置为账户 B,我从账户 a 中的原始交易复制日期等,但我想将两个“交易”对象设置为指向同一个 NSSet '分裂'。
这样,如果我更改其中一项交易的拆分类别或金额,它会反映在另一笔交易中吗?对更简单属性的更改是通过前面提到的 setDate 等设置器处理的。两个“事务”对象可以指向同一个拆分的 NSSet,还是我必须在进行更改时手动同步两个集合的更改?
希望这是有道理的,并感谢收到的任何帮助。
【问题讨论】:
-
转会真的有分裂吗?用例是什么?