2011-08-31 41 views
0

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

伪代码:

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

等等...

谢谢!

回答

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]; 
} 

现在你有一个阵列充分的标签,每个都有一个数字作为其文本。标签还没有添加到任何视图,所以你会想要照顾。