以前的单元格不会在UITableView中消失

时间:2014-09-06 06:29:11

标签: uitableview

我有一张最初没有数据的表,并显示UITableViewCell,其中显示一条消息,指出用户没有要显示的数据。

我有一个在viewDidLoad上调用的方法并重新加载表数据。发生这种情况时,仍会显示第一个表格单元格,其余单元格位于其下方,并带有适当的数据。第一个单元格仍显示空数据消息。这里有什么我想念的吗?我在下面有cellForRowAtIndexPath方法。

- (UITableViewCell *)cellForRowAtIndexPath:(NSIndexPath *)indexPath tableView:(UITableView *)tableView {
    static NSString *CellIdentifier = @"TableViewCell";
    static NSString *CellIdentifierEmpty = @"TableViewCellEmpty";

    if ([[self.fetchedResultsController.sections objectAtIndex:indexPath.section] numberOfObjects] == 0) {
        UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifierEmpty];
        if(cell == nil) {
            cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifierEmpty];
            cell.backgroundColor = [UIColor whiteColor];
            cell.textLabel.textColor = [UIColor blackColor];

            cell.detailTextLabel.numberOfLines = 0;
            cell.detailTextLabel.lineBreakMode = NSLineBreakByWordWrapping;
            cell.detailTextLabel.textColor = [UIColor blackColor];
            cell.tag = -1;
        }
        return [self setTextForEmptyCell:cell];
    }

    MyObject *object = [self.fetchedResultsController objectAtIndexPath:indexPath];
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (!cell) {
        cell = // Set values
    }
    // Set cell details        
    return cell;
}

1 个答案:

答案 0 :(得分:0)

发现了这个问题。使用AFNetworking从服务器获取数据时,这是一个线程问题。检查正在使用新线程的所有块!