我想迭代所有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);
}
如何解决这个问题?
答案 0 :(得分:1)
这是因为只有可见的单元格被实例化(还记得dequeueReusableCellWithIdentifier:
函数吗?)。您应该从表数据源中提取所需的信息。
答案 1 :(得分:0)
是的,这种行为是预期的,由于性能方面的考虑,表视图不会始终保持所有单元初始化。您的解决方案只是更新您的数据源 - 例如,如果它是一个数组,迭代它并相应地更改值 - 这是MVC(快速UI,单独模型)的强大功能