在循环中动态创建对象 - 目标C.

时间:2011-08-31 20:49:15

标签: objective-c nsstring

我正在寻找一种方法来根据我需要的数量(1到5之间)在目标C中动态创建NSString对象。然后我想使用这些字符串作为动态创建的对象的名称;

伪代码:

for (i=1, i <= number_of_characters, i++)
{
NSMutableString* theString = [NSMutableString character];
[theString appendString:[NSString stringWithFormat:@"%i ",i]];
UILabel *theString;
[theString release];
}

我希望得到几个名为的

的UILabel对象

character1

character2

character3

依旧......

谢谢!

1 个答案:

答案 0 :(得分:4)

您可以动态创建UILabel对象,但不能在运行时创建变量。如果您想将标签的文本设置为theString,那就没问题了:

NSMutableArray *labels = [NSMutableArray array];
for (i=1, i <= number_of_characters, i++)
{
    NSMutableString* theString = [NSString stringWithFormat:@"%i ",i];
    UILabel *label = [[UILabel alloc] initWithFrame:someCGRect];
    label.text = theString;
    [labels addObject:label];
    [theString release];
}

现在你已经有了一个标签数组,每个标签都有一个数字作为文本。标签尚未添加到任何视图中,因此您需要处理此问题。