Я создал пользовательский UITableViewCell, но у меня проблемы с обновлением содержимого ячейки.Если в таблице несколько ячеек, таблица не отображает правильные изображения в ячейке.Изображения в каждой ячейке должны быть уникальными, однако я вижу разные ячейки с одним и тем же изображением.Кажется, в таблице размещаются ячейки случайным образом.
Я проверил мой источник данных с помощью NSLog, и имена верны.Я могу исправить проблему, когда я не использую - (UITableViewCell *)dequeueReusableCellWithIdentifier:(NSString *)identifier
, но вместо этого каждый раз создаю новую ячейку в - (UITableViewCell *)cellForRowAtIndexPath:(NSIndexPath *)indexPath
.
Любое предложение о том, что я могу делать неправильно?Пожалуйста, посмотрите на мой код ниже.
- (UITableViewCell *)tableView:(UITableView *)_tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
ScoreCell *cell = (ScoreCell *)[_tableView dequeueReusableCellWithIdentifier:@"CellID"];
if (cell == nil)
{
cell = [[[ScoreCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"CellID"] autorelease];
}
BoxScore *boxScore = [_gameDayData objectAtIndex:indexPath.row];
[cell setScoreImage:[UIImage imageNamed:boxScore.name]];
return cell;
}
ScoreCell.h
@interface ScoreCell : UITableViewCell
{
UIImage *scoreImage;
}
@property(nonatomic, retain)UIImage *scoreImage;
@end
ScoreCell.m
@implementation ScoreCell
@synthesize scoreImage;
- (void)dealloc
{
[scoreImage release], scoreImage = nil;
}
- (void)drawRect:(CGRect)rect
{
[super drawRect:rect];
[scoreImage drawAtPoint:CGPointMake(5,5)];
}
@end