Индексирование матрицы объектов (UILabel) - PullRequest
1 голос
/ 24 ноября 2011

У меня есть коллекция объектов (UILabel), названная как в матрице.

Пример:

A11    A12    A13    A14    ...
A21    A22    A23    A24    ...
A31    A32    A33    A34    ...
...    ...    ...    ...

Я думал об использовании простого цикла for для установки текста:

for (int i=1; i==5; i++) {
    for (int y=1; y==5; y++) {
        //code
    }
}

Есть способ сделать это таким образом?Примерно так ...

Aiy.text = [[NSString alloc] initWithFormat: @"A%d%d", i, y];

РЕДАКТИРОВАТЬ: Может быть, я не объяснил свою проблему четко, извините ...

Я хотел бы сделать что-то вроде этого (пожалуйста,простите за богохульство кода!)

A(@"%d",i)(@"%d",y).text = [[NSString alloc] initWithFormat: @"A%d%d", i, y];

и поместите все это в цикл for, чтобы я мог изменить текст всех меток (метка A11 будет иметь «A11» в качестве текста)

Ответы [ 2 ]

1 голос
/ 29 ноября 2011

Таким образом, вы хотите получить доступ к метке, учитывая ее имя свойства ...

Внутри вашего цикла, попробуйте:

// Get label's name
NSString *name = [NSString stringWithFormat:@"A%d%d", i, y];

// Get label from class given it's name
UILabel *label = [self valueForKey:name];

// Set the contents
label.text = name;
0 голосов
/ 24 ноября 2011

Я не уверен, что понимаю вашу проблему. Может быть, ответ:

for (int i=1; i<=5; i++) {
    for (int y=1; y<=5; y++) {
        Aiy.text = [NSString stringWithFormat:@"A%d%d", i, y];;
    }
}

Это то, что вы хотите?

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