2010-12-21 37 views
0

Ich muss 6 Fragen von einem PLIST abrufen und überprüfen Sie die Antwort, wenn es korrekt ist von der PLIST selbst?Wie erstelle ich eine Mehrfachfrage?

Ich werde einen QR-Code-Scanner api verwenden, um nach Antworten zu suchen, die API wird in eine Zeichenfolge umgewandelt und liest aus dem PLIST, um zu prüfen, ob die Antwort korrekt ist ... gibt es Tutorial oder Referenzen für mich @ ??

In meinem plist gibt es: Frage ~ Wörterbuch mit den folgenden Strings:

NumberOfOption ~, die definieren, wenn die Frage ein Multiple-Choice oder eine QR-Code Frage Frage ~ Frage selbst Antwort ~ Antwort selbst Option 1 ~ 4 ~ wenn es sich um eine multiple-Choice-Frage ist

Vielen Dank im Voraus für die Beantwortung meiner Fragen, ich schätzte es

prost

Desmond

+0

Was ist eigentlich QR-Code-Scanner? – vodkhang

+0

ist ein Bild, das Daten darin speichert .... http://en.wikipedia.org/wiki/QR_Code – Desmond

Antwort

2

den folgenden Code verwenden, um Daten in eine Reihe von Wörterbücher zu lesen (vorausgesetzt, Ihr plist in Ihrem Haupt-Bundle)

// Path to the plist (in the application bundle) 
NSString *path = [[NSBundle mainBundle] pathForResource: 
    @"questionArray" ofType:@"plist"]; 

// Build the array from the plist 
NSMutableArray *qArray = [[NSMutableArray alloc] initWithContentsOfFile:path]; 

Sie können dann wie Ihre Fragen iterieren:

// iterate questions 
for (NSDictionary *dic in qArray) 
{ 
    //perform your reading of 'NumberOfOption' etc from dic object here. 
} 
+0

ich habe das erfolgreich getan, um meine question.plist zu laden – Desmond

+0

ich habe dies getan. \t // Pfad zum plist (im Programm-Paket) \t NSString * path = [[NSBundle main] pathForResource: \t \t \t \t \t @ "Frage" ofType: @ "plist"]; \t \t NSArray * array = [NSArray arrayWithContentsOfFile: Pfad]; \t \t NSDictionary * dict = [Array ObjektAtIndex: 0]; \t \t \t questionlabel.text = [dict valueForKey: @ "Frage"]; Wie schleife ich es, so werde ich überprüfen, ob die Frage mit Numberofoption oder QR? – Desmond

1

Je nachdem, wie plists strukturiert sind, können Sie sie in den Speicher mit [NSArray arrayWithContentsOfFile:...]; oder [NSDictionary dictionaryWithContentsOfFile:...]; lesen. Darüber hinaus hängt es wirklich davon ab, wie Ihr plist strukturiert ist, wie Ihre Eingabe hereinkommt, etc.

+0

Dank Dave, ich finde heraus, dass in 1 plist ist besser, aktualisierte meine Frage, vielen Dank :) – Desmond

1

Ich hoffe, Ihre 1.plist hat Fragen und 2.plist hat entsprechende Antworten. In diesem Fall sollten Sie Ihre Plisten nur mit Arrays erstellen.

Aber in Ihrem Fall haben Sie andere Informationen wie Option in Ihren Fragen plist, also sollten Sie mit der Dictionary-Struktur für diese Plist gehen und andere plist ein Array machen. Folgen Sie der Array-Struktur ist wirklich einfach zu erreichen und speichern Sie Ihre Fragen, aber im Falle von Wörterbuch sollten Sie ein wenig vorsichtig sein.

Ich würde vorschlagen, dass Sie die Fragen und Antworten mit den gleichen Schlüsseln in beiden Tabellen speichern sollten. Wie bei der Frage 1 verwenden Sie die Taste @ "0" und für 2 verwenden Sie @ "1" und so weiter. Daher wird der Zugriff auf Antworten von 2 einfacher.

Hoffe, das hilft.