2010-07-29 6 views
3

J'essaie ici quelque chose de très trivial, mais le programme se termine par un "EXC_BAD_ACCESS" dans le NSLog. Je tente de remplir un tableau mutable avec plusieurs dictionnaires comme ceci:Problème de syntaxe Objective-C

NSMutableArray *_recipientsMutArray = [[NSMutableArray alloc] init]; 

NSDictionary *r1 = [[NSDictionary alloc] initWithObjectsAndKeys: @"firsValue", @"firstKey", @"secondValue", @"secondKey", nil]; 

[_recipientsMutArray addObject:r1]; 

[r1 release]; 

Pourquoi?

+2

Ce code est très bien! Le problème doit être ailleurs. – V1ru8

+0

Vous dites qu'il se bloque dans un NSLog, mais vous n'avez pas inclus le code avec un. –

+0

Je pense qu'il veut dire qu'il signale EXC_BAD_ACCESS dans le journal de la console. – JeremyP

Répondre

2

Le code que vous avez fourni est bien, et ne devrait pas causer EXC_BAD_ACCESS, mais vous mentionnez un plantage avec NSLog. Une erreur commune à faire avec NSLog consiste à fournir une chaîne de style C pour la chaîne de format, plutôt qu'un NSString. Ce qui suit provoque des erreurs:

int i = 4; 
NSLog("%d", i); // oh no! 

, vous devez donc veiller à ce que le premier argument de NSLog est un NSString, comme ceci:

int i = 4; 
NSLog(@"%d", i); // yay! 
+0

Yup, j'ai passé quelques heures sur celui-là! – maralbjo