2011-05-24 85 views
1

我找不到爲什麼我點擊刪除按鈕後,我的tableView沒有更新。UITableView「刷卡刪除」功能凍結

一旦我點擊它,表格視圖「凍結」。如果我點擊另一行,以便tableview轉到層次結構的另一個級別,然後單擊,我可以看到該項目已被刪除,並且一切正常。

這裏是我的代碼:

- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    //[tableView beginUpdates];  
    if (editingStyle == UITableViewCellEditingStyleDelete) 
    { 
     // Do whatever data deletion you need to do... 
     [tableView beginUpdates]; 
     NSManagedObject *obj = (NSManagedObject *)[entityArray objectAtIndex:indexPath.row];   
     [managedObjectContext deleteObject:obj]; 
     NSError *error; 
     [managedObjectContext save:&error]; 

     // Delete the row from the data source 
     [tableView deleteRowsAtIndexPaths:[NSArray arrayWithObjects:indexPath, nil] withRowAnimation:YES]; 

     [self viewWillAppear:YES]; 

    } 
    //[tableView endUpdates]; 
} 

在這個問題上的任何輸入,將不勝感激。

謝謝。

+0

你爲什麼把'// [tableView endUpdates]''外部的if和註釋掉了? – 2011-05-24 20:07:37

+2

你絕對不應該打電話[self viewWillAppear:YES]; – jaminguy 2011-05-24 20:11:29

回答

1

我看不到[tableView endUpdates][tableView beginUpdates]匹配的電話號碼,該電話號碼在if開頭。

難道這是因爲這個原因,你的表凍結?

+0

啊,我應該抓住那個。謝謝 – ranonk 2011-05-24 20:22:03

4

發現相同的問題,並偶然發現此線程。但在我們的例子中,tableview凍結問題的原因是不同的。

爲子孫後代着想:

的定義UITableViewCell其進入編輯模式,以顯示「插入」或「刪除」按鈕永遠不應該有它的userInteractionEnabled屬性設置爲「NO」。

通過糾正這個問題,我們修復了同樣的tableview凍結問題。