2010-01-15 3 views
0

Le code:Comment nommer un fichier différemment chaque fois que je l'attribue?

// Inside my BoardsViewController.m 
- (void)createImage { 

    imageCounter ++; 
    board = [[Boards alloc] init]; 
    [self.view addSubview:board]; 
    [board release]; 

board est censé être changé à chaque fois, et est au lieu d'être conseil d'administration nommé: être nommé 1_board, 2_board, 3_board, chaque fois que j'appelle cette méthode

} 

Je souhaite que les cartes (UIView subclass) portent le nom d'imageCounter et qu'elles aient également un tableau. Un peu comme: 1_board. Ce qui veut dire que je veux avoir un tableau appelé quelque chose de différent à chaque fois que j'appelle cette méthode.

EDIT:
Cela devrait peut-être aider:

Je veux avoir ce une méthode que je vais appeler plusieurs fois allouer un conseil (sous-classe de UIView), mais les ont tous des noms différents autres que un seul nom. Ce qui signifie que j'incrémente le compteur de vues à chaque fois avant d'allouer la vue. Donc je veux que le nom inclue la variable dans l'entier: viewCounter. Pour que je puisse appeler les différentes vues séparément et contrôler chaque allocation différemment.

+0

Alors, quelle est la question? – notnoop

+0

Je veux avoir cette méthode que j'appellerai plusieurs fois allouer un Conseil (sous-classe de UIView) mais les avoir tous différents noms autres qu'un seul nom. Ce qui signifie que j'incrémente le compteur de vues à chaque fois avant d'allouer la vue. Donc je veux que le nom inclue la variable dans l'entier: viewCounter. Alors que je peux appeler les différentes vues séparément et contrôler chaque allocation différemment – Jaba

Répondre

2

On ne sait pas ce que vous voulez accomplir. Si vous voulez faire la distinction entre les différentes instances du Conseil, vous pouvez ensuite utiliser une propriété tag (disponible dans toutes les sous-classes de UIView):

- (void)createImage { 
    imageCounter ++; 
    Boards *board = [[UIImageView alloc] init]; 
    board.tag = imageCounter; 
    [self.view addSubview:board]; 
    [board release]; // Note that you need this line also, you current code produces memory leak 
} 

Plus tard, vous pouvez obtenir chacun des conseils créés à l'aide:

Boards* yourBoard = [self.view viewWithTag: someTag]; 

Vous Vous pouvez également définir un identifiant personnalisé dans votre classe Board si vous le souhaitez. Changer le nom de la variable locale (par exemple board en quelquechose_board) n'a pas vraiment de sens car ce nom ne sera pas accessible en dehors de la portée de cette fonction.

+0

Actuellement, je fais cela pour que vous sachiez que je n'utilise pas seulement un UIView – Jaba

+1

Tout est clair maintenant? (parce que je suis encore un peu confus :)) – Vladimir

+0

Yep cela fonctionne, je ne suis pas le meilleur à poser des questions. Merci d'avoir géré ma grande incompétence. – Jaba

Questions connexes