在我的应用程序中,我有5个UIView在我的视图控制器和每个视图有6个UILabel。对于每个标签,我在每个视图中设置一个标记,例如:
在第一个UIView: firstlabel标签101,secondLabel标签102等…在第二个UIView: firstlabel标签101,secondLabel标签102…在第三个UIView: firstlabel标签101,secondLabel标签102…exc…
并为每个UIView设置一个标签,例如:对于第一个UIView标签1用于第二个UIView标签2exc…
那么在我的代码中我做:
for (int i = 0; i<5; i++){
UIView *viewSingle = (UIView*)[self.view viewWithTag:i+1];
UILabel *data1 = (UILabel*)[viewSingle viewWithTag:100+i+1];
[[data1 setText:[array1 objectAtIndex:i]];
UILabel *data2 = (UILabel*)[viewSingle viewWithTag:100+i+2];
[[data2 setText:[array2 objectAtIndex:i]];
exc...
}
这段代码只改变第一个UIView中的标签,而不改变其他UIView中的标签,为什么?
在计算用于检索uilabel的标记时不应该使用i。例如
UILabel *data1 = (UILabel*)[viewSingle viewWithTag: 101];
不是UILabel *data1 = (UILabel*)[viewSingle viewWithTag: 100 + i + 1];