J'essaie de regarder à travers un NSMutableDictionary chargé avec un NSMutableArray et je suis en train de tout chambouler, et je ne sais pas comment. J'essaie de charger un plus grand nombre de questions de jeu, puis les supprimer si elles ne sont pas au bon niveau. Je n'obtiens pas d'erreur jusqu'à ce que j'essaie de supprimer. Quelqu'un peut-il voir la faille dans ce code? Je l'apprécierais super!NSMutable Array - objectAtIndex: index au-delà des limites
Merci,
~ G
{
NSUserDefaults *settings = [NSUserDefaults standardUserDefaults];
NSString *GameLevel = [[NSString alloc] initWithFormat: [settings objectForKey:kLevelKey]];
NSBundle *Bundle = [NSBundle mainBundle];
NSString *PListPath = [Bundle pathForResource:@"questions" ofType:@"plist"];
NSMutableDictionary *Dictionary = [[NSMutableDictionary alloc] initWithContentsOfFile:PListPath];
self.QuestionDetailsByLevel = Dictionary;
[Dictionary release];
NSMutableArray *Components = [[NSMutableArray alloc] initWithArray:[QuestionDetailsByLevel allKeys]];
self.QuestionsByLevel = Components;
int QuestionCount = [self.QuestionsByLevel count] - 1;
for (int j = 0; j < QuestionCount - 1; j++)
{
NSString *SelectedQuestion = [self.QuestionsByLevel objectAtIndex:j];
NSMutableArray *Array = [QuestionDetailsByLevel objectForKey:SelectedQuestion];
self.QDetailsByLevel = Array;
NSString *level = [[NSString alloc] initWithFormat:[self.QDetailsByLevel objectAtIndex:Level]];
if (level != GameLevel)
[QuestionsByLevel removeObjectAtIndex:j];
}
}
Y a-t-il une raison pour laquelle vous mettez tout en une seule fois? Ayez juste un pour chaque niveau, puis chargez celui dont vous avez besoin. –