Q:

UITableView duplicate cells

I am making UITableView with many cells.
Than in code, i am adding custom view in cells, and after 10 rows my custom UIView duplicates.
See more in the screenshots.
 
    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
    EFMyTrainingPreviewTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"previewCell"];

     "SOME CODE"

    return cell;
    }

    -(void)makeCompleteButtonForWorkOut:(NSIndexPath *)indexPath{

    EFMyTrainingPreviewTableViewCell *cell = (EFMyTrainingPreviewTableViewCell *)[_tableviewMyTraining cellForRowAtIndexPath:indexPath];
    [_tableviewMyTraining scrollToRowAtIndexPath:indexPath atScrollPosition:UITableViewScrollPositionMiddle animated:YES];

  "SOME CODE"

        [touchViewCompleteApproach addSubview:view];

    }
    [cell addSubview:touchViewCompleteApproach];

}

A:

cellForRowAtIndexPath will help you because when you scroll table view it refreshes the cells, and uses custom cells with views and buttons you wish.
It's simple and your code will look nice.
But beware of using addSubview in cellForRowAtIndexPath. 

