我在tableview中使用dequeue机制时遇到了麻烦,我有一个带有uiTextField的自定义单元格。 当在其上放置一些值并进行滚动时,TextField的值将转到另一个单元格。 有人可以帮我吗? 多谢你们。 这是代码:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"MyPedidoItemCell";
PedidoItemCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
// Configure the cell...
if (!cell) {
cell = [[PedidoItemCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}
Produto *produto = [self.fetchedResultsController objectAtIndexPath:indexPath];
cell.lblNome.text = produto.nome;
cell.lblCodigo.text = produto.codigo;
cell.lblFuncao.text = produto.funcao;
return cell;
}
答案 0 :(得分:0)
您展示的代码是使用CoreData为单元格加载数据,但您提到您不会将数据存储在任何位置。
我怀疑你的对象没有fetchedResultsController
的数据,因为你没有存储任何数据。
很可能produto
为零,你没有在单元格上设置任何值。
最终手动更新的单元格会被重复使用,您会再次看到该文本。
您需要先将您键入的数据存储到UITextField中,然后才能从核心数据中检索它。
答案 1 :(得分:0)
当您调用dequeueReusableCellWithIdentifier
时,它可能会返回一个已滚出视图但仍包含UITextField中的数据的单元格。如果您没有清除UITextField的内容或将其设置为该行的正确值,您可能会看到不需要的数据。