迭代s UITableView中的所有单元格

时间:2012-05-15 10:50:36

标签: iphone ios uitableview

我想迭代所有uitablewview单元格并显示每个单元格中包含的uitextview文本。 我的桌子可以有很多行,你可以滚动所有的行。我做了一个实现,但是它只显示了滚动中当前可见单元格的文本,因为其他的给我空。

for (int i = 0; i < [propertiesTableView numberOfRowsInSection:0]; i++) {
    UITableViewCell* cell = [propertiesTableView cellForRowAtIndexPath:[NSIndexPath indexPathForRow:i inSection:0]];
    UITextView* tx = (UITextView*)[cell viewWithTag:2];
    NSString* temp = tx.text;
    NSLog(@"%@", temp);
}

如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

这是因为只有可见的单元格被实例化(还记得dequeueReusableCellWithIdentifier:函数吗?)。您应该从表数据源中提取所需的信息。

答案 1 :(得分:0)

是的,这种行为是预期的,由于性能方面的考虑,表视图不会始终保持所有单元初始化。您的解决方案只是更新您的数据源 - 例如,如果它是一个数组,迭代它并相应地更改值 - 这是MVC(快速UI,单独模型)的强大功能