拖动tableview后显示重叠的问题

刚开始的时候,一切正常
图片说明
拖动tableview一下后,就变成这样了
图片说明
看了网上的一些帖子,说是重用的问题 ,然后修改了代码如下

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{

    UITableViewCell *result = nil;
    static NSString *cellIdentifier = @"cell";
    result = [tableView dequeueReusableCellWithIdentifier:cellIdentifier];
    if (result == nil) {
        result = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdentifier];
    }else{
        //如果result不为空,删除它的所有子视图
        while ([result.contentView.subviews lastObject]!= nil) {
            [[result.contentView.subviews lastObject] removeFromSuperview];

                  }
    }
        //下面是自定义视图

但是问题依旧,还是重叠
请问这是什么问题,怎么解决?

你这个不需要在else中删除子视图啊,直接修改相关数据不就可以了么?

    if(cell==nil){

        // 在这个里面将 控件都初始化下,
         cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:dentifier];

        /// 比如说 我现在添加一个UILabel

        UILabel *l=[[UILabel alloc] init];
        l.tag=index.row;
        cell addView:l

    }

    然后通过tag 找到UILabel,并且给它赋值