因为在UITableViewCell
上使用三个标签减慢了tableview滚动性能,我尝试直接在UIView
上绘制,我拖过原型单元格。虽然这显着改善了滚动性能,但这让我陷入了另一个问题。
实际上我正在绘制一个Feed的内容。在六或七个唯一行(对于20个记录)之后,行是重复的。它们从tableview顶部开始显示相同的内容。然而,当我点击那些重复的单元格时,内容就会变为原来的状态。
经过研究,我发现六到七个是屏幕上实际可见的行数。所以这应该是显示更新错误,但我不确定我是否应该解决此问题。
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *cellIdentifier = @"newsCell";
NewsCell *cell = (NewsCell*)[tableView dequeueReusableCellWithIdentifier:cellIdentifier];
if (indexPath.row < feeds.count) {
dict = [feeds objectAtIndex:indexPath.row];
[cell setNewsHeading:[dict objectForKey:@"title"] pubDate:[dict objectForKey:@"pubDate"] newsExcerpt:[dict objectForKey:@"attributedDescription"]];
}
dict = nil;
return cell;
}
-(void)setNewsHeading:(NSString *)newsHeading pubDate:(NSString *)pubDate newsExcerpt:(NSAttributedString *)newsExcerpt
{
self.newsView.newsHeading = newsHeading;
self.newsView.pubDate = pubDate;
self.newsView.newsExcerpt = newsExcerpt;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
// Return the number of rows in the section.
return [feeds count];
}
答案 0 :(得分:0)
听起来这可能是一个缓存问题 - 您是否尝试重写单元子类中的prepareForReuse
方法以将单元格内容重置为默认值?