After loading the table, the cells are reused. Rebooting the table does not reset the queue. reloadData calls - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath;
This method has an if(cell==nil) condition if(cell==nil) , so that the cells are not cleared after they are loaded into memory and, therefore, reused.
To get around this, you reset your cells before applying the correct information.
cell.detailTextLabel.text = @""; cell.accessoryType = UITableViewCellAccessoryNone;
Or if you use accessoryView
cell.accessoryView = nil;
Also consider this example. UITableView does not update correctly when scrolling.
source share