Индексированные UILabels Objective-C - PullRequest
0 голосов
/ 02 декабря 2010

Я программирую приложение для iphone и мне нужна помощь с UILabels.Пример: у меня есть 10 Labels с именами Label1, Label2, Label3 и т. Д. И Label1.text = @ "1", Label2.text = @ "2" и т. Д., Есть способ сделать это в цикле for.Как для (int i = 1, i <11, i ++) {Labeli.text = ...}?спасибо за помощь. </p>

Ответы [ 2 ]

1 голос
/ 02 декабря 2010

Установите тег для каждой метки и получите доступ к значению следующим образом:

for(int i=1; i<=10;i++)
{
    UILabel *lab=(UILabel *)[self.view viewWithTag:i];
    [lab setText:[NSString stringWithFormat:@"%d",i]];
}

или сделайте следующее,

NSArray *labels=[NSArray arrayWithObjects: label1, label2, nil];

int i=1;

for(UILabel *label in labels) {
  [label setText:[NSString stringWithFormat:@"%d",i]];
  i++;
}
0 голосов
/ 02 декабря 2010

Вот правильный цикл:

for(int i = 0; i < numLabels; i++) {
    UILabel *label = [[UILabel alloc] init];
    label.text = [NSString stringWithFormat:@"%i", i];
    // other label customizations here
    [myMutableArray addObject:label]
    [label release];
}

Затем, позже, получите доступ к каждому ярлыку с помощью [myMutableArray objectAtIndex:index];

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...