別のビューから情報を挿入した後に更新する必要があるtableViewがあります。私が実行した場合iPhone SDK:新しい行でUITableViewを挿入して更新する
[self.tableView reloadData];
私は別のビューで多くの情報を挿入し、テーブルを再ロードしようとする非常に次の時間、すべての現在表示されている行が重複しています。私はアプリを起動したときに言い換えれば
、私が持っている:
tableView:
Row 1
Row 2
それから私は、テーブルに表示されますいくつかの情報を提出し、突然、私が持っている:
tableView
Row 1
Row 2
Row 3 <- info I just added
Row 1
Row 2
マイnumberOfRowsInSectionの実装は次のようになります。
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return [ItemsController sharedItemsController].count;
}
私のcellForRowAtIndexPath実装は次のようになります。
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
ItemsController* controller = [ItemsController sharedItemsController];
NSMutableArray* recentItems = controller.listOfRecentItems;
CustomCell *cell = nil;
NSUInteger row = [indexPath row];
if(row < recentItems.count)
{
Items* item = [recentItems objectAtIndex:row];
if(recentCellData == nil)
recentCellData = [[NSMutableDictionary alloc] initWithCapacity:[indexPath length]];
if([recentCellData count] > 0)
cell = [recentCellData objectForKey:[NSString stringWithFormat:@"%d", row]];
if (cell == nil) {
UIViewController * view1 = [[UIViewController alloc] initWithNibName:@"CustomCell" bundle:nil];
cell = (CustomCell*)[view1 view];
[recentCellData setObject:cell forKey:[NSString stringWithFormat:@"%d",row]];
}
// do some other stuff here
}
// Set up the cell
return cell;
}
テーブルを更新して現在表示されている行を複製しないようにするにはどうすればよいですか。 すべての助けを先にありがとう!
あなたの質問にtableView:numberOfRowsInSection:メソッドの実装を含める必要があるようです。 – dstnbrkr
質問にその情報を追加しました。ありがとう! – Jeff