核心数据 - 测验查询 - 录制进度?

时间:2016-04-19 16:29:49

标签: ios core-data entity

我正在使用Core Data为iOS / Swift编写测验游戏。

我按照图表

拥有以下实体

quiz entities

Challenge有很多Questions IE:Easy有10个问题

我被困的地方是我正在努力构建的一个功能:

  1. 挑战完成进度 记录已针对特定挑战和当前分数已经回答的所有问题。
  2. IE:Tom已经完成了“简单”挑战中的3/10个问题,得分为“300”

    问题:如何为Core数据中的测验完成进度建模?

    我想我需要另一个名为PlayerAnswers的实体,但不确定哪些字段需要在那里记录正确的信息。

1 个答案:

答案 0 :(得分:0)

您建模了用于存储Challenge的一般表示的对象。现在您需要添加包含挑战进度的表格。如果挑战问题不可变,最简单的问题将包含。如果用户不能在一次挑战中跳过问题,那就没关系了

playerId | challlengeId | challengeProgress | challengeScore

如果您需要每个问题状态和挑战的总分,您将需要存储所有用户的答案(就SQL表而言)

表1 gameId | playerId | challlengeId
gameId代表用户尝试,如果他可以为一次挑战进行多次尝试

表2 gameId |回答| isCorrect |得分

此表存储所有游戏的所有答案。我们可以通过状态获取所需gameId的答案

所以在这种情况下,就核心数据而言,你需要添加2个实体:与用户有一对一连接的游戏以及从游戏中有一对多连接的挑战和答案