我有以下代码无法正常工作,有人可以告诉我原因吗?
如果我将label1.text = @“XX”放入循环中,则会填充,这显然与将这些对象添加到数组中有关。我可以这样做吗?
NSMutableArray *labels = [[NSMutableArray alloc] initWithObjects:label0.text,label1.text,label2.text,label3.text,label4.text,nil];
for(int i=0; i<labelStrings.count;i++) {
labels[i] = @"XX";
}
答案 0 :(得分:1)
当你致电initWithObjects
时,我会说,label0.text
。这只是一个字符串值,此时标签文本的值。它不是用于设置标签文本或类似内容的魔术指针。
然后当你设置labels[i]
时,你只需用不同的字符串替换可变数组中的一个字符串。
执行您要执行的操作的方法是创建标签的数组,然后为数组的每个项设置其text
属性。
像这样的东西(直接键入,未尝试过,所以请注意,此代码可能有错误):
NSArray *labels = @[label0, label1, label2, label3, label4];
for(int i=0; i<labels.count; i++) {
[(UILabel*)(labels[i]) setText: @"XX"];
}