帮助第一个Core Data项目

时间:2011-06-14 03:14:03

标签: iphone objective-c core-data

这是我遇到的第一个项目,NSUserDefaults无法使用NSCoding协议。我被要求写一些POS软件。

基本上,应用程序需要存储一堆产品,价格和销售帐户。用户应该能够添加项目和帐户,并跟踪一段时间内的帐户余额。账户余额应该能够从一个“会话”(时间段)转移到下一个会话。

我对这些概念感到满意,但我想确信我正在对此进行建模。 以下是我对数据进行建模的方式。我想知道我是否做得恰当或是否有任何明显的错误/遗漏。

我创建了一个“帐户”实体,它具有以下属性:

  • 名字
  • 姓氏
  • 帐户ID
  • 集团
  • 与交易实体有关系。

我为每个Session创建了一个实体。同样,会话就像一个会计月。会话将具有自定义名称和ID。

  • 会话ID
  • 会话名称
  • 与应用于该会话的所有帐户都存在关系。

当然,产品有名称和ID。还存在与“价格”对象的关系,因此我可以在不影响余额的情况下更改价格。

请参阅Xcode 4的截图,其中完整地解释了我的模型:

enter image description here

修改:

看着这个,似乎我错过了一些重要的信息,例如交易日期等。那就是说,我是否在正确的轨道上?

2 个答案:

答案 0 :(得分:3)

根据我的经验,销售点交易列出了在三个表格中重新创建收据所需的所有数据,标题(认为销售日期,单一跟踪实体),所有待售物品的一组记录(链接回销售标题),以及所有付款方式的一组记录(再次链接回销售标题)。

这将使您有机会在将来重建单个交易。此外,这是一个简单的模型,但应该足以满足您的要求。名义上你还要跟踪每个项目的应用折扣,每发票折扣和每组折扣等。

会话和交易之间的关系是什么?

答案 1 :(得分:2)

你可能不需要有价格的实体,因为它可能只是一个浮动。我建议您为产品实体添加price属性。

我不知道交易是否需要名字,我想如果你想要有笔记,那么他们就应该这样做。

此外,交易应该与产品有很多关系。

这是在单个设备上使用还是会有很多用户?如果每个用户(帐户)负责自己的数据,那么拥有事务/会话而不是事务/用​​户可能更有意义。