Probleme pour passer une varianble dans une boucle
Babyfoot34
Membre
Je ne comprend pas pourquoi dans ma console ma variable motapasser est toujours null ou pas complete
Je pense que cela vien de ma declaration mais je ne trouve pas. J'ai essayer en declarant i comme int et comme unassigned.
mais cela ne fonctionne pas. Merci pour votre aide
Le resultat dans ma console est toujours <1> au lieu de <Item 1>
Je pense que cela vien de ma declaration mais je ne trouve pas. J'ai essayer en declarant i comme int et comme unassigned.
mais cela ne fonctionne pas. Merci pour votre aide
<br /><br />//Chemin de fichier (plist) ou se trouvent les données<br /> path = [[NSBundle mainBundle] pathForResource:@"Data" ofType:@"plist"]; <br /> //Remplissage du tableau <br /> dict = [[NSDictionary alloc] initWithContentsOfFile:path];<br /> <br /> for (NSUInteger i = 0; i < [dict count] - 1; i++) {<br /> NSString *motaPasser = (@"Item %lx", i);<br /> NSLog(@"motapasser : %lx", motaPasser);<br /> motenFra = [dict objectForKey:motaPasser]; // ATTENTION le 1er c'est l'item 0, le 2e c'est l'item 1<br /> valeurFr = [motenFra valueForKey:@"Mot_Fr"];<br /> <br /> NSLog(@"Mot FR : %@", valeurFr);<br /> <br /> }<br />
Le resultat dans ma console est toujours <1> au lieu de <Item 1>
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
C'est quoi ça !
D'autre part, ton dico ressemble furieusement à un tableau de dicos, mais tu utilises un dico de dicos, ce qui n'est pas très pratique
En fait c'est une liste de questions a laquelle l'utilisateur doit repondre. Les questions et les reponses sont dans le Plist.
Je veut creer une boucle pour passer d'une question a l'autre. A chaque passage je souhaite lire mon fichier Plist et afficher les donner. L'utilisateur click une reponse et passe a la question suivante
Bon ... Je debute et la structure est peut etre pas super,
Je persiste à considérer qu'un NSArray de dicos serait plus adapté, puisque tu crées toi même des index (item0, item1, ...)
Pourquoi avoir un dictionnaire indexé avec des clés genre "Item 0", "Item 1", "Item 2", "Item 3", ... alors qu'un NSArray (donc un tableau) est fait pour ça et sait directement te retourner l'élément à l'index N ? En plus ça optimiserait ton code (surtout si à terme tu veux faire beaucoup d'accès à ton tableau et si tu veux profiter des avantages de NSFastEnumeration)
[img][/img]
Par contre pourquoi encore mettre "Item1", "Item2", ... "Item8" comme clés pour chacun de tes dictionnaires ? des clés plus parlentes comme "soundFile", "fr", "en", ...?
J'ai dans l'idée qu'une fois que tu auras construit et stocké un beau tableau de dictionnaires dans ta plist tu devrais t'intéresser aussi à la première partie de la question que tu as laissée tomber alors que la vitesse n'était pas ton souci premier..
Que veux tu dire laudema ? Je devrai tous faire avec des tableaux ?
J'ai repris l'idée d'Aligator qui apparement fonctionne bien, mais il est vrai que je dois avoir 100 dictionnaire dans mon plist et je ne sais pas encor comment cela va se passer avec autant de donnés. Voila commenr j'ai corrigé mon code
Que ton premier problème c'est de corriger tes erreurs et warnings si tu veux te voir progresser. De débarrasser ton code de ses erreurs avant de voir comment tu vas l'optimiser. Tu réfléchis à la manière dont tu vas utiliser des outils sans avoir encore compris le langage qui les manipule. Enfin c'est ce que j'en ressens.
Accessoirement que ta manière de créer une chaà®ne avec arguments à la printf n'est guère convaincante.
Bien sûr qu'elle fonctionne l'idée d'Ali, j'ose pas imaginer combien de tableaux et dictionnaires il aura créé sur des disques durs à lui tout seul, et il est pas le seul à le faire comme ça
Il sort d'où ton "dict" ?
Xcode est malin mais pas plus que ça, pas certain qu'il aille jusqu'à regarder ce que tu en fais pour deviner comment il devrait le typer, en plus là c'est plus Xcode mais gcc ou LLVM qui prennent la main. ça m'étonnerais que tu n'aies pas au moins un warning de leur part pour te signaler ça.
Pour le reste 100 dictionnaires de quelques clefs dont une pourrait avoir jusque 8 lignes n'est pas du tout un problème de vitesse perceptible à l'utilisateur.
Mais pour toi le voir il faudrait que tu compiles sans erreur (ni warnings probablement)