Références Stocker à variable dans NSMutableArray

voix
0

Je cherche un moyen de stocker des références à des variables à l'intérieur d'un NSMutableArray. Les variables vont être créées dynamiquement en fonction de ce que l'utilisateur a choisi, je veux être en mesure de simplement trier ce tableau et d'obtenir des références à ces variables créées. Dans le cas où il importe, je suis en train de créer un projet iPhone. Cependant, lorsque je tente de le faire en utilisant le code suivant:

for (int a = 0; a < 10; a++)
{
UIView *tempView;
[listingOfViews addObject:tempView];
}

for (int a = 0; a < [listingOfViews count]; a++)
{
[listingOfViews objectAtIndex:a] = defaultViewStructure;
}

Il me donne cette erreur: « Erreur: lvalue nécessaire comme opérande gauche d'affectation »

Des idées?

EDIT: En outre, je reçois cette erreur: « Erreur: demande de membre « taille » dans quelque chose pas une structure ou d'une union »

Lorsque je tente de faire

for (int a = 0; a < [listingOfViews count]; a++)
{
[listingOfViews objectAtIndex:a].size.height = ...
}
Créé 26/08/2009 à 23:12
source utilisateur
Dans d'autres langues...                            


2 réponses

voix
1

Pour votre deuxième question:

for (int a = 0; a < [listingOfViews count]; a++)
{
    [listingOfViews objectAtIndex:a].size.height = ...
}

Il y a un malentendu (un UIView ne dispose pas d'un -size, il a un -frame qui comprend une taille), associée à quelque chose qui est en réalité un peu difficile à cause de la notation des points très confus, ils ont ajouté dans Obj-C 2 et un rupture malheureuse du modèle d'objet quand vous arrivez à structs. La façon dont vous faites ce que vous essayez de faire est:

UIView *view = [listingOfViews objectAtIndex:a];
NSRect frame = [view frame];
frame.size.height = ...
[view setFrame:frame];

Il y a plusieurs façons de condenser le nombre de lignes un peu, mais vous avez besoin d'aller chercher un struct NSRect, le modifier, puis le remettre. Vous ne pouvez pas modifier la hauteur dans un appel sur la plupart des points de vue.

Créé 26/08/2009 à 23:46
source utilisateur

voix
0

Qu'est-ce que vous voulez dire:

[listingOfViews replaceObjectAtIndex:a withObject:defaultViewStructure];

Mais ça va se bloquer lorsque vous essayez de mettre ces pointeurs non initialisée tempView dans le tableau. Qu'est-ce que vous essayez vraiment de faire ici? Je pense qu'il peut être temps de revenir en arrière et commencer par les bases de Objective-C. On dirait que vous essayez de concepts ports C ++ de directement dans ObjC, et ils font les choses différemment.

Vous pouvez commencer par la programmation en Objective-C , puis probablement la programmation Cocoa pour Mac OS X . (Ce dernier est basé sur Mac, plutôt que l' iPhone, mais il est toujours le meilleur point de départ.)

Créé 26/08/2009 à 23:23
source utilisateur

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more