我有一个名为totalWins的数组,其中有一个名为winningNumbers的数组。在其中,我需要在UITableView单元格中显示70个数字。
我将UITaableViewCell子类化,并创建了一些UITextField出口。
好的老式方式是这样的:

NSArray *winningNumbers = [[_currentSearchResults objectAtIndex:indexPath.row]objectForKey:@"winningNumbers"];
cell.txtFld1.text = [NSString stringWithFormat:@"%@",[winningNumbers objectAtIndex:0]];
cell.txtFld2.text = [NSString stringWithFormat:@"%@",[winningNumbers objectAtIndex:1]];
....
....


效果很好。我试图节省一些编码时间,并这样做:(当然,在设置了textfields标签之后)

for(int i=0;i<70;i++)
    {
        UITextField *tempField = (UITextField *) [self.view viewWithTag: 777+i];

        tempField.text = [NSString stringWithFormat:@"%@",[winningNumbers objectAtIndex:i]];
    }


问题是,由于单元格的重用,滚动表视图时数字被弄乱了。在不编写cell.txtFld1.text = [NSString stringWithFormat:@"%@",[winningNumbers objectAtIndex:0]]; 70次的情况下实现上述目标的首选方法是什么?

最佳答案

使用[cell.contentView viewWithTag:777 + i]代替self.view。您的解决方案还可以。

关于ios - 使用标签和单元的重用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17592897/

10-09 06:30