我有一個UITableView
,它有一個NSMutableArray
的數據。UITableView在removeObjectAtIndex和reloadData後重新加載不正確
當在數組上調用removeObjectAtIndex
,然後在表上調用reloadData
時,單元格被正確移除,但隨後滾動顯示錶格未正確重新加載。
我使用的代碼是:
[_squadArray removeObjectAtIndex:myIndex;
[[self tableView] reloadData];
這是表看起來像算賬:
僅供參考,表一應具全,而不是停在那裏不動爲止。
更新:cellForRowAtIndexPath
方法
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *MyIdentifier;
MyIdentifier = @"cell";
ClubSquadPlayerTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:MyIdentifier];
PFObject *object = [_squadArray objectAtIndex:indexPath.row];
cell.playerNameLabel.text = [NSString stringWithFormat:@"%@ %@", [object valueForKey:@"first_name"], [object valueForKey:@"last_name"]];
cell.squadNumberLabel.text = [[object valueForKey:@"squad_number"] stringValue];
cell.positionLabel.text = [object valueForKey:@"position"];
if ([[object valueForKey:@"fitness_status"] isEqualToString:@"Fit"])
{
cell.fitnessStatusImageView.image = [UIImage imageNamed:@"fit"];
} else if ([[object valueForKey:@"fitness_status"] isEqualToString:@"Doubtful"])
{
cell.fitnessStatusImageView.image = [UIImage imageNamed:@"doubtful"];
} else if ([[object valueForKey:@"fitness_status"] isEqualToString:@"Injured"])
{
cell.fitnessStatusImageView.image = [UIImage imageNamed:@"injured"];
}
return cell;
}
你能告訴我們你的cellForRowAtIndex方法嗎?另外 - 你是否允許用戶從tableView中刪除項目,或者你是否以其他方式執行此操作?最後 - 我假設numberOfRowsInSection方法從myArray屬性獲取它的計數? – Tander
請發佈cellforindexpath方法 – Vig
謝謝您的輸入。已更新最初的問題。用戶可以使用標準刷卡刪除項目進行刪除。是的,數組數量設置行數。 – nickjf89