J'ai une base de données avec 26 films et 3 questions par film.NSMutablearray dans NSMutablearray
Ce que j'ai fait, c'est que mon programme sélectionne aléatoirement une question de la base de données et qu'elle est affichée à l'écran. Ce qui me dérange, c'est d'enregistrer cette question pour qu'elle ne soit plus sélectionnée.
Jusqu'à présent, je joue avec ceci:
usedMovie_id = [[NSMutableArray alloc] initWithCapacity:26];
usedQuestion_id = [[NSMutableArray alloc] initWithCapacity:4];
for (NSInteger i = 0; i < 26; ++i)
{
[usedMovie_id addObject:[NSNull null]];
}
for (NSInteger i = 0; i < 4; ++i)
{
[usedQuestion_id addObject:[NSNull null]];
}
while (i < 10) {
int ii = [self genRandomNumberForMovies];
int jj = [self genRandomNumberForQuestions:25];
NSLog(@"ii %d, jj %d", ii,jj);
[usedQuestion_id replaceObjectAtIndex:jj withObject:[NSNumber numberWithInt:jj]];
[usedMovie_id replaceObjectAtIndex:ii withObject:usedQuestion_id];
i++;
//NSLog(@"movie_id array %@", usedMovie_id);
}
Mon problème est que le tableau usedQuestion_id ne diffère pas à l'un des indices dans usedMovie_id, ils sont tous les mêmes. Si usedQuestion_id a 1 et used_Movie_id est 13 dans la première boucle, puis usedQuestion_id vaut 1, 3 et usedMovie_id est 10 dans la seconde boucle. Le paramètre usedQuestion_id est mis à jour à 1, 3 à l'adresse usedMovie_id à l'index 13 (à partir de la première boucle).
De même, j'ai besoin d'enregistrer quelle question a été répondue correcte et incorrecte, donc je montre seulement les questions qui n'ont pas été répondues correctement.
Je ne veux pas avoir à créer 26 nsmutablearrays chacun avec leurs propres données.
Je pense que je pourrais avoir besoin d'un nsdictionary ou même d'une base de données. Aussi, je pourrais randomiser au début et faire défiler chaque question au lieu de randomiser après que chaque question ait été répondue.
Merci, je pensais à ce que vous avez dit à propos de ma liste de questions ne changeant jamais élargi à ce sujet. – bigubosu