J'ai un tableau:iPhone SDK: Copie tableau
//current array
NSMutableArray *arrayCurrentArray;
// et l'indice indexCurrentPage = 1;
le tableau doit être initialisé à l'exécution comme ceci:
arrayCurrentArray =
[[NSMutableArray alloc]
initWithArray:arrayBrotherPirateEnglish
copyItems:YES];
voici comment le tableau est initialisé:
arrayBrotherPirateEnglish = [NSArray arrayWithObjects:@"OBTP English full with text", @"OBTP English p1", @"OBTP English p2", @"OBTP English p3", @"OBTP English p4", @"OBTP English p5", @"OBTP English p6",
@"OBTP English p7", @"OBTP English p8", @"OBTP English p9", @"OBTP English p10",
@"OBTP English p11",
nil];
Je puis le code comme ceci:
indexCurrentPage++;
if(indexCurrentPage <= [arrayCurrentArray count]) {
//next page to play
strFileName = [arrayCurrentArray objectAtIndex:indexCurrentPage];
NSLog(@"next page filename %s ", strFileName);
//set the player
NSURL *url = [NSURL URLWithString:strFileName];
[player setContentURL:url];
//play
[player play];
}
Mon problème est que je ne peux pas accéder aux éléments de la matrice.
C'est l'erreur que je reçois:
2010-07-26 12:57:18.888 BookReaderJuly23[49638:207] next page filename ‡ûú»
2010-07-26 12:57:18.890 BookReaderJuly23[49638:207] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[NSURL initFileURLWithPath:isDirectory:]: nil string parameter'
2010-07-26 12:57:18.892 BookReaderJuly23[49638:207] Stack: (
Toute idée appréciée.
Ceci est l'erreur: 2010-07- 26 13:43:47.154 BookReaderJuly23 [50904: 207] *** Terminaison de l'application due à l'exception non interceptée 'NSInvalidArgumentException', raison: '*** - [NSCFString objectAtIndex:]: sélecteur non reconnu envoyé à l'instance 0x5533de0' Ceci est le code précédent: strFileName = [arrayBrotherPirateEnglish objectAtIndex: 2]; \t \t \t \t NSLog (@ "page suivante filename% @", strFichier); – butchcowboy
Cela signifie que vous envoyez le message objectAtIndex: à un objet NSString plutôt qu'à un NSArray. Cela peut signifier que vous avez réaffecté votre variable NSArray à un NSString, ou que vous avez un problème de gestion de la mémoire (libérer votre tableau trop tôt, etc.). L'exécution de l'outil Zombies peut vous aider à résoudre un problème de mémoire. mais il semble que vous ayez des problèmes avec certains principes de base, alors vous voudrez peut-être que quelqu'un plus expérimenté regarde votre programme entier pour vous aider à trouver des erreurs courantes. –