2016-04-19 14 views
0

Ich programmiere ein Quiz-Spiel für iOS/Swift mit Core Data.Kerndaten - Quiz-Abfrage - Aufnahmefortschritt?

Ich habe die folgenden Einheiten wie pro Diagramm

quiz entities

A Challenge hat viele Questions IE: Leicht hat 10 Fragen

Wo ich bin stecken ist ein Feature Ich versuche, Build:

  1. Herausforderung Fertigstellung Fortschritt Halten Sie eine rec alle Fragen, die bereits für eine bestimmte Aufgabe beantwortet wurden, und die aktuelle Punktzahl.

IE: Wie kann ich Fortschritte Modell Quiz Abschluss in Kerndaten: Tom 3/10 Fragen aus der „easy“ Herausforderung und eine Punktzahl von „300“

Frage hat abgeschlossen hat?

Ich denke, ich brauche eine andere Entität namens PlayerAnswers aber nicht sicher, welche Felder müssen da sein, um die richtigen Informationen zu erfassen.

Antwort

0

Sie haben Objekte modelliert, um die allgemeine Darstellung von Challenge zu speichern. Jetzt müssen Sie eine Tabelle hinzufügen, die den Fortschritt der Herausforderungen enthält. Wenn die Frage unveränderlich ist, enthält sie eine einfache Frage. es ist in Ordnung, wenn Benutzer Fragen in einer Herausforderung nicht überspringen können

playerId | challlengeId | herausforderungProgress | challengeScore

Wenn Sie jede Frage Zustand und Gesamtnote für Herausforderung benötigen, müssen Sie alle Benutzer Antworten speichern wie folgt aus (in Form von SQL-Tabellen)

Tabelle 1 GameID | playerId | challlengeId
wo GameID Benutzer Versuch darstellt, wenn er mehrere Anläufe für eine Herausforderung

Tabelle 2 GameID haben | Antwort | isKorrektur | Punktzahl

Diese Tabelle speichert alle Antworten für alle Spiele. Und wir können Antworten mit ihrem Zustand für benötigte gameId

holen Also in Bezug auf Kerndaten müssen Sie 2 Einheiten hinzufügen: Spiel, die eins zu eins Verbindung zu Benutzer und Herausforderung und Antwort, die eine zu viele Verbindung haben aus dem Spiel

+0

Das klingt gut, ich werde es versuchen. – zardon

+0

können Sie eine Diagrammversion davon hochladen? Vielen Dank – zardon