我有一个以矩阵命名的对象集合(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”作为文本)
答案 0 :(得分:1)
所以你想要在给定它的属性名称的情况下访问标签......
在你的循环中,尝试:
// 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;
答案 1 :(得分:0)
我不确定你的问题。也许回应是:
for (int i=1; i<=5; i++) {
for (int y=1; y<=5; y++) {
Aiy.text = [NSString stringWithFormat:@"A%d%d", i, y];;
}
}
这就是你想要的?