在没有实际编写的情况下参考某些内容的名称

时间:2011-02-27 02:35:21

标签: iphone objective-c cocoa-touch

我不确定如何将这一点放到标题中,但这就是我想要的。假设我以编程方式创建了许多UIlabels,我希望它们具有名称label1,label2,label3等。

如何为下一个标签命名新标签。并且说我知道我想在这一点上引用label3,但我可能想在另一点引用另一个数字,我将如何在代码中编写它?

所以不是label5.text = ...,我能放什么?因为它并不总是label5。

3 个答案:

答案 0 :(得分:5)

不要混淆自己!这很有想法:

for (int i=1; i<5; i++){
    UILabel ([NSString stringWithFormat@"label%d", i]) = [[UILabel alloc] init];}

或类似的东西会起作用。我们使用的名称是为了方便起见,编译器使用指向对象的指针而不是标签。

可能有效的是一个数组或一组指针:

NSMutableArray *labels = [[NSMutableArray alloc] init];
for (int i=1; i<5; i++){
    [labels addObject:[UILabel alloc] initWith...];
}
...
[[labels objectAtIndex:index] setText:newText];

答案 1 :(得分:0)

Label myLabel = label5;
myLabel.text = ...
myLabel = label7;
myLabel.text = ...

答案 2 :(得分:0)

这是UILabels的NSMutableArray的工作。使用addObject附加到数组。使用objectAtIndex:来引用i'Th。