0

そのため、サブビュー内のオブジェクトを削除しています。ナビゲーション スタックを親テーブル ビューに戻してデータをリロードすると、エラーが発生します。

無効な更新: セクション 4 の行数が無効です。更新後の既存のセクションに含まれる行数 (58) は、更新前にそのセクションに含まれる行数 (59) に、その数をプラスまたはマイナスした値と等しくなければなりません。そのセクションに挿入または削除された行数 (0 挿入、0 削除)、およびそのセクションに移動された、またはそのセクションから移動された行数 (0 移動、0 移動)。

したがって、行数 58 は正しいですが、このビューの項目や行を実際に削除するのではなく、サブビューのデータを削除するため、このエラーを回避するにはどうすればよいですか。リロード前に行を物理的に削除しません。この親ビューは、サブビューが何をしているかを実際には認識せず、reload メソッドですべての変更が加えられた新しいデータ ソースを取得するだけです。データベースにはサブビューで削除されたアイテムがあり、親コントローラーのテーブルビューをリロードすると、この新しく更新されたアイテム数が表示されます。最後の更新以降に行がどれだけ少ないかを計算し、それを何らかの形でデクリメントして、いくつかの行削除プロパティを設定する必要がありますか?

テーブルの reloadData メソッドを呼び出すときに整合性チェックを無視できますか?

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{

    if (section==recentPhotosCellIndex) {  
       return [arrayOfPosts count] 
    }
    else
       return 1;
}
4

2 に答える 2

0

データソースとして何を使用していますか? そこからも削除していますか?0 行が削除されたことに注意してください。ビューとデータ ソースから削除していることを確認してください。

于 2012-07-03T22:03:28.503 に答える
0

セクション/行をハードコーディングしていませんか?

于 2012-07-03T22:13:10.543 に答える