Ich mache Tests in Core Data und habe ein Array mit ca. 230 Datensätze, die ich in meiner Datenbank speichern möchte. Leider scheint nur der letzte Datensatz in der Datenbank gespeichert zu sein. Ich kann einfach nicht herausfinden, warum, wie ich sehen kann, dass die While-Schleife korrekt looping ist?Warum wird nur der letzte Datensatz in der Datenbank gespeichert?
Wenn ein Feld (nrField) indiziert ist, muss ich ihm Zahlen hinzufügen oder wird dies automatisch geschehen, wenn ich Datensätze zur Datenbank hinzufüge? nrFields ist der eindeutige Zähler, der in jedem Datensatz gespeichert ist.
//=========LOOP ARRAY AND INSERT RECORDS INTO DB==============//
while (eOF != 99999) {
qNr = [myArray objectAtIndex:xx];
eOF = [qNr intValue];
xx = xx++;
if (eOF != 99999) {
qDifficulties = [myArray objectAtIndex:xx];
int iDiff = [qDifficulties intValue];
[famQuizInfo setValue:[NSNumber numberWithInt:iDiff] forKey:@"qDiff"];
xx = xx++;
// No action for Category as it is not included in the database any longer
xx = xx++; // Calculate +1 to compensate for non existing Category
[famQuizInfo setValue:[myArray objectAtIndex:xx] forKey:@"question"];
xx = xx++;
[famQuizInfo setValue:[myArray objectAtIndex:xx] forKey:@"qRightAnswer"];
xx = xx++;
[famQuizInfo setValue:[myArray objectAtIndex:xx] forKey:@"qWrongAnswer1"];
xx = xx++;
[famQuizInfo setValue:[myArray objectAtIndex:xx] forKey:@"qWrongAnswer2"];
[famQuizInfo setValue:[NSNumber numberWithInt:0] forKey:@"qNrAccess"];
[famQuizInfo setValue:[NSDate date] forKey:@"qRegDate"];
//NSError *error;
if (![qContext save:&error]) {
NSLog(@"Whoops, couldn't save: %@", [error localizedDescription]);
}
xx = xx++;
NSLog(@"xx: %i", xx);
}
}