2010-05-11 3 views
1

ma tentative d'initialiser un tableau avec un certain nombre de valeurs booléennes utilisant:tableau Init avec des valeurs bool

[myArray initWithObjects:[NSNumber numberWithBool:YES], 
         [NSNumber numberWithBool:YES], 
         [NSNumber numberWithBool:YES], 
         nil]; 

semble à l'échec depuis le débogueur montre un tableau vide après cette déclaration est effectuée ... Tous les indices ?

Répondre

4

Assurez-vous que vous êtes l'objet alloc -ment, ainsi, à savoir:

NSArray *myArray = [[NSArray alloc] initWithObjects:...]; 
... 
[myArray release]; 

Ou:

NSArray *myArray = [[[NSArray alloc] initWithObjects:...] autorelease]; 

Ou:

NSArray *myArray = [NSArray arrayWithObjects:...]; 
+1

ou une meilleure utilisation NSArray arrayWithObjects: à faire les deux à la fois – Mark

+0

Parfois, il est préférable d'allouer-init, pour être en mesure de libérer le tableau dès qu'il n'est plus n cédé. Mais de toute façon fonctionne. –

+0

Merci à vous tous. J'ai trouvé le bug. J'ai fait un initWithContentsOfFile qui, en cas d'échec, devrait charger les valeurs par défaut. Le lien manquant était que je devais allouer/init au cas où le chargement du fichier échouerait. – iFloh

Questions connexes