【发布时间】:2011-09-20 02:05:36
【问题描述】:
我正在编写一个应用程序来帮助糖尿病患者管理他们的病情。跟踪的信息包括血糖结果、营养、锻炼和药物信息。 在类似的应用程序中,这些条目都显示在单个表视图中,即使每种类型的条目具有不同的字段。许多糖尿病患者在日志中手动跟踪这些数据,我希望保持这种模式。
每个条目都有一些通用信息(时间戳、类别和注释)以及特定于每个条目类型的信息。例如,膳食条目将包含详细的营养信息(碳水化合物计数、纤维、脂肪等),药物条目将指示哪种药物和剂量等。
我考虑过两种不同的方法,但在尝试实施其中任何一种方法时,我都陷入了概念层面和技术层面。第一种方法是创建一个包含所有公共字段的抽象实体,然后为抽象实体的父级的每个日志条目类型(膳食、药物、bg 等)创建实体。我已经对这一切进行了建模,但无法完全弄清楚如何将这些项目绑定到数组控制器以让它们显示在单个表视图中。
第二种方法是拥有一个包含公共字段的实体,然后将特定条目类型建模为与公共记录有关系的单独实体(有点像装饰器模式)。这更容易为(至少对于公共字段实体)构建 UI,但是当我想要绑定特定的数据实体时遇到了同样的问题。
当然,最简单的方法是将每个不同条目类型的所有字段都放入一个实体中,但这违背了我的所有感受。当我将东西绑定到表格视图时,似乎我仍然会遇到类似的问题。
我的最终目标是为用户提供一个界面,在统一的界面中按时间顺序显示每个条目,而不必保留每个条目类型的单独列表。我可以在需要的地方添加代码,但我想尽可能多地使用绑定。
提前感谢您的任何建议。
【问题讨论】:
标签: objective-c xcode cocoa core-data