You just have to reset everything you have in your method right after you pulled the cell out of the cache.
And after that, continue your setup for selling at a specific index. eg:
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"SomeID"]; if(cell) { cell.textLable.text = nil; cell.accessoryItem = nil; ... } if(haveSomeText){ cell.textLable.text = [allMyTexts objectForIndex:index]; } if(needSetButton){ cell.accessoryItem = [[UIButton alloc] init ...]]; } ...
source share