我有一张最初没有数据的表,并显示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;
}
答案 0 :(得分:0)
发现了这个问题。使用AFNetworking
从服务器获取数据时,这是一个线程问题。检查正在使用新线程的所有块!