Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 核心数据结构-避免循环引用?_Iphone_Objective C_Ios_Ipad_Core Data - Fatal编程技术网

Iphone 核心数据结构-避免循环引用?

Iphone 核心数据结构-避免循环引用?,iphone,objective-c,ios,ipad,core-data,Iphone,Objective C,Ios,Ipad,Core Data,我只是想验证我的数据结构。 我觉得这有点复杂,也许可以简化一下 问题分为几章 对于每个问题,每个会话只能有一个答案 目的是能够比较/分析相同问题的答案(由不同的用户或相同的用户在不同的时间,即不同的会话) 如果章节和问题相同,则作为章节和问题集合的模板不必复制 (若答案和会话并没有关系,那个么这是必要的。) 从应答到会话的关系是正确的策略吗 为了简化模型,您还需要改进什么 谢谢大家! 编辑 后续澄清: 答案不是静态的(例如“正确”答案,“解决方案”),而是用户输入的一些文本。它更像是一个

我只是想验证我的数据结构。
我觉得这有点复杂,也许可以简化一下

  • 问题分为几章
  • 对于每个问题,每个会话只能有一个答案
  • 目的是能够比较/分析相同问题的答案(由不同的用户或相同的用户在不同的时间,即不同的会话)
  • 如果章节和问题相同,则作为章节和问题集合的模板不必复制
  • (若答案和会话并没有关系,那个么这是必要的。)
  • 从应答到会话的关系是正确的策略吗
  • 为了简化模型,您还需要改进什么
谢谢大家!

编辑

后续澄清:

  • 答案不是静态的(例如“正确”答案,“解决方案”),而是用户输入的一些文本。它更像是一个“调查问卷”,而不是一个“测验”。答案具有可分析的定量属性
  • 如上所述,一个问题在一次会议中只能有一个答案。因为问题可以间接地属于多个会话(通过
    (NSSet*)question.chapter.template.sessions
    ),它们可能有多个答案,因此需要一个对多关系
  • 典型场景:用户使用某个模板启动新会话并填写答案。然后他可以查看结果分析,并将其与使用相同模板的其他会话的结果进行比较
编辑2

包含属性的数据模型快照


老实说,这是我要做的,而不是你们的结构,但我不知道每个实体的目的是什么,因为我无法从它们的简单名称中找到它们

这只是一个解决循环的想法

你仍然可以从课程中获得所有模板和所有答案,不是直接获得,但这不会让你的生活变得更加艰难


更新:

乍一看,对我来说,
会话
实体似乎只是这里的一个额外实体。老实说,如果与
模板
(又称问卷调查)实体连接,您就不需要它了

您必须在
模板
用户
之间添加多对多关系(您可以做到,不用担心)。通过这种方式,您可以从每个模板获得所有答案,并且不会出现任何循环


老实说,这是我要做的,而不是你们的结构,但我不知道每个实体的目的是什么,因为我无法从它们的简单名称中找到它们

这只是一个解决循环的想法

你仍然可以从课程中获得所有模板和所有答案,不是直接获得,但这不会让你的生活变得更加艰难


更新:

乍一看,对我来说,
会话
实体似乎只是这里的一个额外实体。老实说,如果与
模板
(又称问卷调查)实体连接,您就不需要它了

您必须在
模板
用户
之间添加多对多关系(您可以做到,不用担心)。通过这种方式,您可以从每个模板获得所有答案,并且不会出现任何循环


尽管@holex一方做出了非常有益的努力,但最好的方法似乎仍然是坚持我的设计。我所希望的简化没有实现

尽管@holex一方做出了非常有益的努力,但最好的办法似乎仍然是坚持我的设计。我所希望的简化没有实现

在不真正了解所有“游戏规则”的情况下,很难给出反馈,但对于初学者来说:1。如果一个答案可以属于多个问题,你如何获得每节课提出的问题?2.假设你需要知道某个问题的答案是正确的还是可能的(比如多项选择题),我不知道这是如何映射到3的。这一切是动态的还是静态的?bec我根本看不到静态循环依赖的问题。还需要知道最关键的访问场景以优化此…我编辑了我的问题以澄清。感谢您的关注。如果您能在代码中处理数据时不会遇到无限循环,
核心数据
可以毫无问题地处理此类结构,因此您只需担心自己。@holex谢谢-有任何简化建议吗?即,您可以存储在两个单独的实体1中。会话的模板和2。章节的模板。在不真正了解所有“游戏规则”的情况下,很难给出反馈,但对于初学者来说:1。如果一个答案可以属于多个问题,你如何获得每节课提出的问题?2.假设你需要知道某个问题的答案是正确的还是可能的(比如多项选择题),我不知道这是如何映射到3的。这一切是动态的还是静态的?bec我根本看不到静态循环依赖的问题。还需要知道最关键的访问场景以优化此…我编辑了我的问题以澄清。感谢您的关注。如果您能在代码中处理数据时不会遇到无限循环,
核心数据
可以毫无问题地处理此类结构,因此您只需担心自己。@holex谢谢-有任何简化建议吗?即,您可以存储在两个单独的实体1中。会话的模板和2。章节的模板。谢谢你这个漂亮的答案。感谢您不厌其烦地制作图形!不幸的是,这不起作用,因为