2010-08-07 12 views
0

Je veux créer 10 boutons en utilisant un tableau. Comment le créer? J'utiliseComment créer un tableau de boutons Objet?

array = [[[NSArray alloc] initWithObjects:button1, button2] retain]; 

Mais il indique Missing Sentinel dans l'appel de fonction. Où, je me trompe?

Répondre

1
NSArray *myButtons = [[NSArray alloc] initWithObjects:button1, button2, nil]; 

Votre tableau a maintenant le nombre 1 de retenue après l'affectation, donc vous n'avez pas besoin de le conserver.

Lorsque vous n'avez pas besoin du tableau, relâchez juste

[myButtons release]; 
+0

[tableau objectAtIndex: i.frame] = CGRectMake (50, 50, 100, 30); Où je me trompe dans cette syntaxe. Voici une boucle for. – Tauquir

+0

@Tauquir: objectAtIndex requiert un entier. Vous devez d'abord récupérer l'objet à l'index 'i' dans la variable puis assigner sa propriété frame à' CGRectMake (...) '; – Pablo

1

La méthode -initWithObjects: doivent être nil à terminaison:

array = [[NSArray alloc] initWithObjects:button1, button2, nil]; 
//              ^^^^^ 

En outre, la méthode +alloc retourne déjà un objet avec Conserver le compte de +1. Il n'y a pas besoin de -retain.

1

Il vous manque le zéro de fin pour le tableau.

array = [[[NSArray alloc] initWithObjects:button1, button2,nil] retain];

Mais c'est peut-leaky que vous obtenez un double RETAIN. Mieux pourrait être.

array = [[NSArray arrayWithObjects:button1, button2,nil] retain];

+0

Puis-je mélanger l'ordre de ces objets dans le tableau? – Tauquir

+0

@Tauquir: Oui. – kennytm

+0

@KennyTM: Pouvez-vous me dire comment les mélanger dans le tableau? Pouvez-vous me fournir la solution? – Tauquir