核心数据属性

时间:2016-08-03 16:59:41

标签: ios core-data

如果我在核心数据中创建一个实体来处理一个人可以在问卷表格中选择的可能值,我是否必须为每个可选择的问题创建一个属性?例如,我的名为Person的实体具有名称,日期,时间的属性,而不是选择应添加到Person Entity的单选按钮样式的一堆可能答案。问卷部分使用单独的实体是否更好?

编辑以便更清晰:

应用/调查表单是一个带有单选按钮样式的问题列表复选框。如果问题适用于他们,他们会触摸圆圈按钮并填充圆圈。所以它是一个布尔值。但是我只是不确定我是否必须将这些问题中的每一个都作为布尔属性?这似乎是一个简单的项目,开始学习核心数据,这是使用核心数据而不是其他一些建模和持久性解决方案的目的。

3 个答案:

答案 0 :(得分:1)

如果你的属性是y / n答案,那就是布尔属性,例如:

Person.licensed = y / n

如果您的媒体资源的答案超过y / n,您可以使用数字属性:

Person.licensed = 1(y),0(n), - 1(未知), - 2(不合格)

您可能需要更灵活的属性。也许有许多类型的许可证:

Person.licenses - >相关实体许可证,包含attributes- license.type,license.issueDate,license.expireDate

然后,如果您正在做类似调查的事情,那么还有许多其他潜在的途径。你需要详细说明你正在做些什么以获得更多帮助。

答案 1 :(得分:0)

分离两个实体是一个好主意,因为它避免混淆并保持代码更清晰。当您离开项目并在4个月后返回项目时,将不会出现识别数据保存位置和检索位置的问题。

您的实体将拥有其属性(姓名,电子邮件等),而调查问卷实体将具有其属性 - ,一个使用布尔类型的每个问题。

答案 2 :(得分:0)

根据您的评论,您不需要布尔值或任何其他属性。您有一组问题,这些问题只是数据存储中的实例。如果需要,您可以将它们分组成问卷,这可能是另一个实体以及它们之间的关系。你的人是另一个实体,并且有许多关系要问题。当用户勾选适用于他们的问题时,您可以将这些问题添加到关系中。

相关问题