グループ化された UITableView を含み、XMLparser を使用してデータを取得するビューを開発しています。
私の XMLParser は NSDictionary データを NSArray に格納します。
cellForRowAtIndexPath で、UITableView を動的に設定するためにこれを書きました。
-(UITableViewCell*) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"CellArticle";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}
//configuration cellule
if(mParser.summaryArray == nil||[mParser.summaryArray count]==0)
{
//do nothing
}
else {
NSDictionary *sommaire=[mParser.summaryArray objectAtIndex:0];
cell.textLabel.text=[NSString stringWithFormat:@"%@",[sommaire objectForKey:kArticle]];
[mParser.summaryArray removeObject:[mParser.summaryArray objectAtIndex:0]];
}
return cell;
}
問題は、ビューが読み込まれるとセルが正しく設定されますが、テーブルを下にスクロールするとセルが混在し、一部が欠落することです。また、テーブルの制限に達すると、クラッシュして次のエラーが返されます。
* -[UITableView _createPreparedCellForGlobalRow:withIndexPath:]、/SourceCache/UIKit_Sim/UIKit-1914.84/UITableView.m:6061 でのアサーションの失敗
* キャッチされない例外 'NSInternalInconsistencyException' が原因でアプリを終了します。理由: 'UITableView dataSource must return a cell from tableView:cellForRowAtIndexPath:'**
何が問題なのですか?