这是我的代码:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
NSString *cellIdentifier=@"menucell";
MenuCell *cell = (MenuCell*) [tableView dequeueReusableCellWithIdentifier:cellIdentifier forIndexPath:indexPath];
if (cell==nil)
cell= [[MenuCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdentifier] ;
MenuModel *resturntent = (self.menuList)[indexPath.row];
cell.foodNameLbl.text = resturntent.MenuName;
cell.priceLbl.text = [NSString stringWithFormat:@"%@ %@",@"$" , resturntent.MenuRate];
cell.foodImage.image = [UIImage imageNamed:@"full_breakfast.jpg"];
return cell;
}
滚动uitextfields时,值会重复。
我需要帮助来解决这个问题
答案 0 :(得分:1)
使用dequeueReusableCellWithIdentifier
时,您的单元格将被重复使用。这意味着当用户滚动tableview
时,移出屏幕的cell
将被重复使用以显示即将移动到屏幕上的cell
的内容。
尽管这有助于节省内存,但它导致的问题是cell
在加载新cell
的内容之前需要准备好显示。
在您的情况下,您似乎需要维护用户在textfield
的{{1}}中输入的值。
因此,要解决您的问题,如果cell
中的cells
数量不足,请停止重复使用tableview
。此外,只要用户在cell
的{{1}}中输入值,请将其保存在textfield
(cell
' MenuModel'在您的情况下) 。并从模型中获取值并将其设置为array
方法中的array
,例如您为其他textfield
设置的值。