私の iPad プロジェクトでは、テーブルの行をリロードできる必要があります。これは、ポップアップビューから選択された「ID」に応じて、テーブル行をリロードできるようにする必要があります。テーブル行はダイナミクスであり、UITextField が含まれています。[self.tableView reload] を使用しようとしましたが、何らかの理由で行が正しく更新されません。以前の「id」が所有していた UITextField プレースホルダーのようなものは変更されません。私が念頭に置いているのは、その特定のセクションのすべてのセルを削除し、新しい「id」でテーブルをリロードすることです。これを行うと、次の例外が発生しました。
*キャッチされない例外 'NSInternalInconsistencyException' が原因でアプリを終了します。理由: '無効な更新: セクション 0 の行数が無効です。更新後の既存のセクションに含まれる行数 (3) は、更新前のそのセクション (3) に、そのセクションから挿入または削除された行数 (0 挿入、3 削除) をプラスまたはマイナスします。
プロジェクトコード:
- (void)selectedArchiefID:(NSString *) value {
[self.popOverController dismissPopoverAnimated:YES];
// collects all available document indexfields
int rowCount = [indexDefinities count];
NSMutableArray *indexPaths = [[NSMutableArray alloc] init];
for (int curIndex=0; curIndex < rowCount; curIndex++) {
[indexPaths addObject:[NSIndexPath indexPathForRow:curIndex inSection:0]];
}
// deletes rows
if ([indexPaths count] > 0) {
[self.tableView beginUpdates];
[self.tableView deleteRowsAtIndexPaths:indexPaths withRowAnimation:UITableViewRowAnimationNone];
//[self.tableView deleteSections:0 withRowAnimation:UITableViewRowAnimationNone];
[self.tableView endUpdates]; //crashes here
}
[self.tableView reloadData];
}
私が何を間違えたのか分かりますか?