2012-02-21 12 views
1

commitEditingStyleを使用してUitableviewから行を削除すると、このエラーでアプリケーションがクラッシュします。 、 ' 理由:' によりキャッチされない例外NSInternalInconsistencyExceptionに /SourceCache/UIKit_Sim/UIKit-1912.3/UITableView.m:1046 .Terminatingアプリ無効更新:無効:[のUITableView _endCellAnimationsWithContext] - でUItableviewから行を削除するとクラッシュする

アサーション障害(2) の後の既存のセクションに含まれる行の数は、 の更新(1)より前に、そのセクションに含まれる行の数と同じでなければなりません。その部分(挿入された0、削除された1)から が挿入または削除され、プラスまたはマイナス番号の がoその部分からr(0は移動、0は移動)。

これは私のコードです:

- (void)tableView:(UITableView *)tv commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath { 
    // If row is deleted, remove it from the list. 
    if (editingStyle == UITableViewCellEditingStyleDelete) { 
     order *OrderObj= [appDelegate.orderArray objectAtIndex:[indexPath row]]; 
     [appDelegate removeitem:OrderObj]; 

     [tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationFade]; 
    } } 
+0

replying..Yourの答えのための – Deepesh

答えて

5

によって減少されている必要があり、これらの線に変更してみてくださいに

order *OrderObj= [appDelegate.orderArray objectAtIndex:[indexPath row]]; 
[appDelegate removeitem:OrderObj]; 

を:

[appDelegate.orderArray removeObjectAtIndex:[indexPath row]]; // assuming orderArray is NSMutableArray 
+0

おかげでテーブルビューから項目を削除しますあなたのエラーを印刷してくださいしかし、アイテムデータベースも削除する必要があります。 – nithin

+0

@nithin。その後、私の行を削除せずに行に追加するだけです。私はあなたがdbからオブジェクトを削除すると思いますが、orderArrayのオブジェクトのカウントが間違っているためにクラッシュが表示されます – beryllium

6

あなたtableView:numberOfRowsInSection:は、更新後に不正な値を返しています。削除前と削除後の値を確認してください。これは、1

関連する問題