私はxmlファイルを解析し、その解析された値をテーブルビューに入れています.テーブルビューにはセクションが1つしかありません.しかし、次の例外が発生しています:
2013-10-14 15:21:57.250 tableview[6068:907] * -[UITableView _endCellAnimationsWithContext:] でのアサーションの失敗、/SourceCache/UIKit/UIKit-2380.17/UITableView.m:909 2013-10-14 15:22: 11.227 テーブルビュー[6068:907]キャッチされない例外 'NSInternalInconsistencyException' が原因でアプリを終了します。理由: '行 0 をセクション 0 に挿入しようとしましたが、更新後にセクション 0 に行が 0 行しかありません' lib8cabidy6 をスローする例外:
コードは次のとおりです。
/**
The NSOperation "ParseOperation" calls addFiles: via NSNotification, on the main thread which in turn calls this method, with batches of parsed objects. The batch size is set via the kSizeOfEarthquakeBatch constant.
*/
- (void)addFilesToList:(NSArray *)files {
NSInteger startingRow = [self.fileList count];
NSLog(@"STARTING ROW:%d",startingRow);
NSInteger fileCount = [files count];
NSLog(@"FILE COUNT : %d",fileCount);
NSMutableArray *indexPaths = [[NSMutableArray alloc] initWithCapacity:fileCount];
NSLog(@"INDEX PATHS:%@",indexPaths);
for (NSInteger row = startingRow; row < (startingRow + fileCount); row++) {
NSLog(@"into for");
NSIndexPath *indexPath = [NSIndexPath indexPathForRow:row inSection:0];
NSLog(@"INDEXPAth %@",indexPath);
[indexPaths addObject:indexPath];
}
[self.fileList addObjectsFromArray:files];
NSLog(@"ADD objects");
NSLog(@"FILELIST:%@",self.fileList);
//GETTING EXCEPTION AT THIS LINE
[self.tableview insertRowsAtIndexPaths:indexPaths withRowAnimation:UITableViewRowAnimationAutomatic];
}
#pragma mark - UITableViewDelegate\
-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
return 1;
}
// The number of rows is equal to the number of earthquakes in the array.
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return [self.fileList count];
NSLog(@"NUMBER OF ROWS :%d",[self.fileList count]);
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *kFileCellID = @"Cell";
myTableCell *cell = (myTableCell *)[tableView dequeueReusableCellWithIdentifier:kFileCellID];
// Get the specific earthquake for this row.
fileList *file = (self.fileList)[indexPath.row];
[cell configureWithFile:file];
return cell;
}