需要一个方向来设计核心数据模型

时间:2012-01-25 16:30:12

标签: iphone objective-c core-data

我对coredata的某些基础设计有疑问,以便为我的应用程序提供未来证明!

继续这个场景,让我们考虑开发一个coredata模型来跟踪身体质量指数(BMI),这只是一个例子,它将列在名为的实体中:Category。

类别具有以下属性:

  • NSString(String)Title(Weight)
  • NSNumber(float)upperMax(100)*
  • NSNumber(float)lowerMax(40)*

*注意:那些上限和下限完全是假设的,根本没有科学依据,我只是用它作为我的例子!咳..

另一个实体:“追踪者”

  • NSDate timeStamp
  • NSNumber条目
这里存在

多对多关系 - Category<--->>Tracker

在这里,一切都很好理解。用户输入使用timeStamp插入跟踪器并输入值(当前记录的重量),然后应用程序比较其上方或下方或(正常)类别中的预设值。

如果我添加另一个类别 - 身体质量指数(BMI)。 BMI比较体重与身高。

我可以轻松地将它们添加为Entity中的新cateogry:

  • 姓名BMI
  • UpperMax 23.5
  • LowerMax 18.5

并且用户将添加比较两者的轨道条目。

但是我希望能够增加权重和身高而不是自己的BMI索引,这会创建一个用户将值输入两个文本字段的场景。

最明显的答案是在类别中添加另一个名为“Height”的条目,但之后我必须创建一个与BMI相关的新条目。

相反,我想知道一种新的方法来设计cateogory实体,使得Entry值可以由用户指定。 例如。 (“权重”中的权重)=所需的文本字段输入为1 EG2。 (“BMI”中的重量和高度)=所需的文本字段输入是两个。

也许我应该创建一个新实体?使用名称“fields”并存储类别并指定此新实体中所需字段的正常值数。

现在它非常模糊,希望你能够了解我的想法。

从用户的角度来看: 我希望能够在运行时自己在应用程序中添加“自定义”类别。与创建“新”类别一样,我将使用tableView中的“添加”按钮将名称和添加字段添加到类别中。

在BMI中,我将添加两个字段名称: 1重量UpperMax / LowerMax等 2-Height等..

然后当我点击“新的Entrys跟踪增长”时,应根据Category.fields(关系)的数量显示两个textFields。

这是正确的做法吗?以及如何将“类别”实体与“条目”实体连接起来。我在中间某处有“Fields”实体

1 个答案:

答案 0 :(得分:0)

您是否看过Apple关于CoreData的文档?他们有很好的例子让初学者开始使用CoreData。

我建议您访问以下链接:

http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/CoreData/cdProgrammingGuide.html#//apple_ref/doc/uid/TP40001075