在一些uiview中管理元素



在我的应用程序中,我有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];

最新更新