2009-06-18 8 views
0

J'ai un problème ici. Je crée dynamiquement UILabels pour être affiché dans un UIView. Voici le code:Comment créer NSMutableArray de UILabels?

for (flower in flowerList) 
{    

    // Create the Qty label 
    CGRect rectQty = CGRectMake(x , y, 25, labelHeight); 
    UILabel *flowerQuantityLabel = [[UILabel alloc] initWithFrame:rectQty]; 
    NSString *fQty = [[NSString alloc] initWithFormat:@"%d", flower.flowerQty]; 
    [flowerQuantityLabel setText:fQty]; 
    // Loading refrence into a array 
     // here is the problem 
    [flowersQtyLabels addObject:flowerQuantityLabel]; 

    // Create the name label 
    CGRect rectName = CGRectMake((x+offset) , y, labelWidth, labelHeight); 
    UILabel *flowerNameLabel = [[UILabel alloc] initWithFrame:rectName]; 
    [flowerNameLabel setText:flower.flowerName]; 

    y = y + 40.0; 
    [self.view addSubview:flowerQuantityLabel]; 
    [self.view addSubview:flowerNameLabel]; 

} 
  • Le nombre d'éléments dans le tableau change à chaque fois.
  • Je dois recalculer "flower.flowerQty" et mettre à jour le résultat dans l'étiquette (flowerQuantityLabel).
  • J'ai essayé de charger une référence à chaque flowerQuantityLabel dans un NSMuttableArray (flowersQtyLabels), afin de changer son contenu avec le résultat du recalcul.
  • À la fin du pour, le tableau flowersQtyLabels est vide. Je ne sais pas quel est le problème.

J'espère que quelqu'un peut m'aider.

+0

Comment créez-vous flowersQtyLabels et comment le voyez-vous vide? – stefanB

+0

Salut StefanB !! J'ai créé le tableau en tant que champ de mon contrôleur controller.h NSMutableArray * flowersQtyLabels; ... @property (nonatomic, retain) NSMutableArray * flowersQtyLabels; controller.m @synthesize flowersQtyLabels; et je sais que c'est vide parce que j'ai ajouté un NSLog affichant le [nombre de flowersQtyLabels] et est égal à 0. merci pour votre réponse rapide :) Alejandra – Alejandra

Répondre

0

Mon erreur, J'ai eu le NSMuttableArray pas initialisé correctement.

Merci !!!

0

J'ai créé le tableau comme un champ de mon contrôleur:

Controller.h

NSMutableArray * flowersQtyLabels; ...

@property (nonatomic, retain) NSMutableArray * flowersQtyLabels;

Controller.m

@synthesize flowersQtyLabels;

et je sais qui est vide parce que j'ajouté un NSLog affichant les [flowersQtyLabels comptent] et est égal à 0.

Merci pour votre réponse rapide :)

Alejandra

Questions connexes