2009-04-14 8 views
2

Dans Objective-C comment dois-je mieux approcher ce que Java je fais comme ceci:Tableaux dans la méthode principale d'Objective-C. Sigserve erreurs. Newb

static private String[] array {"A", "B", "C"};

Ce que je pense que je besoin est un simple tableau que je peux index dans certains entiers. Suggestions alternatives sont les bienvenues, mais gardez à l'esprit que si je suis coincé là-dessus, je suis tout à fait désespérée de toute façon.

En tant que test, j'ai essayé d'utiliser

NSArray *array = [[NSArray alloc] initWithObjects:@"A", @"B", @"C"];

dans la méthode mais plus alors un réseau de ce type et je reçois Sig 11 ou 10 erreurs. Cela arrive même si je n'ai que les tableaux suivis d'instructions NSLog. Juste un tableau seulement.

Est-il vrai que ce type de réseau est tout simplement irréalisable dans la méthode principale? Je ne comprends vraiment pas pourquoi cela provoque des erreurs quand j'ajoute un second tableau. Ils ne sont même pas grands.

Répondre

8

Les paramètres à initWithObjects doivent mettre fin à nil, comme ceci:

NSArray *array = [[NSArray alloc] initWithObjects:@"A", @"B", @"C", nil]; 
+0

Ceci est mentionné explicitement tout à fait dans la documentation de la méthode, par la voie. Il est toujours bon de vérifier les docs pour une méthode que vous utilisez, surtout si cela ne semble pas fonctionner correctement. – Chuck

+0

Pour ce que ça vaut, je viens de me lancer dans le développement de l'iPhone et j'ai eu beaucoup de problèmes avec initWithObjects. Maintenant je sais pourquoi. Je n'ai pas mis le néant. – FogleBird

+0

En effet, vous avez raison. Cela a résolu mon problème et m'apprendra à vérifier la documentation plus à fond la prochaine fois. Merci. – pie