我遇到過這種情況,我試圖做的事情基本上是調用tableView reloadData
然而並非所有單元格中的值都得到更新。前5行始終沒有更新... I必須滾動到底部,然後再次進行更新。這是爲什麼發生?UITableView重新加載數據問題
這裏是我的代碼:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
[cell.textLabel setFont:[UIFont fontWithName:@"Arial" size:16]];
}
//add a button to set to accessory view
UIButton * button = [UIButton buttonWithType:UIButtonTypeCustom];
//I missed setting the frame yesterday!
//[button setFrame:CGRectMake(200, 20, 20, 20)];
[button setImage:[UIImage imageNamed:@"addsource.png"] forState:UIControlStateNormal];
[button addTarget:self action:@selector(changeButton:) forControlEvents:UIControlEventTouchUpInside];
[button setBackgroundColor:[UIColor clearColor]];
cell.accessoryView = button;
if ([[self.content objectAtIndex:indexPath.row] isKindOfClass:[Source class]]){
Source * source = [self.content objectAtIndex:indexPath.row];
if (![source.type isEqualToString:@"featured"]){
[cell.textLabel setText:source.domain];
NSURL* URL = [NSURL URLWithString:source.imageUrl];
[cell.imageView setImageWithURL:URL
placeholderImage:[UIImage imageNamed:@"placeholder.jpg"]];
}
}
return cell;
}
,這被稱爲每次我刷新整個數據集:
[self.content removeAllObjects];
[self.content addObjectsFromArray:objects];
[self.tableView reloadData];
您是否嘗試過調試? if(![source.type isEqualToString:@「featured」]){'return?顯然你的單元格不會在你的源類型是「特色」的情況下得到更新。仔細檢查內容數組中的所有值。 – Maggie
是的,這實際上是問題 – xonegirlz
我會寫它是一個答案,所以你可以接受它 – Maggie