总结核心数据中的布尔值与nsnumbers

时间:2015-07-21 06:22:14

标签: swift core-data

目前我正在构建一个统计应用程序,目前我的核心数据模型设置为每次玩家记录统计数据时,为胜利记录1个对象nsnumber,为损失记录1个对象。这些对象只是数字1.然而,在重新评估我的模型后,我意识到我可以为记录布尔值为true或false的9个选项中的每一个都有1个属性然后总结我已发布了我的副本在我做出改变之前的当前数据模型。

我想看看我是否正确。另外,如果我确实这样做了,我如何总结真实对象与虚假对象的总和来进行乘法以获得统计数据我将如何使用布尔对象进行此操作?代码会是什么样的?我还在学习编程语言,并决定使用核心数据开始使用这样的项目.... !! final simplified core data model second attempt at simplifying the model initial model which is hideous by design

1 个答案:

答案 0 :(得分:2)

您的模型存在严重缺陷。您几乎将数据硬编码到模型中。这在很多层面都存在问题。

例如:圣骑士,牧师和盗贼应该反映为数据,而不是实体的属性名称。您应该将这些内容抽象为具有name属性的实体。

不太重要的是,您使用复数作为实体名称。这也可能会产生误导,因为实体描述的是数据类别,而不是表格。实体名称中包含动词,例如" StoreUsersDeck"甚至更古怪。它是一副纸牌,为什么不呢?#34; Deck"?可以对属性和关系名称进行类似的论证。

我不了解你的模型,但这里有一个例子来说明你应该寻找的那种简化:

Deck
  -name
  -(categories) <<-------------------------->> Category
                                                -name
  -(cards)      <--------------------------->> Card
                                                -(category)

最后,就你的布尔/数字而言:简化数据模型也应该有所帮助。我假设对于每个类别,您只能得到一个结果,一个胜利计数或一个损失计数。

Result
  -isWin [boolean]
  -count [number]
  -(category) <<--------------> Category
如果需要,请

Result winCountloseCount