The problem is that when you reuse cell it keeps the image (and all the attributes) that has been set before. In order to correct this behavior you can set the image to nil each time :
if (iconName) {
_mainIconImageView.image = [UIImage imageNamed:iconName];
}else{
_mainIconImageView.image = nil;
}
Or in PollCell.m, override prepare for reuse :
- (void) prepareForReuse{
[super prepareForReuse];
self.image = nil;
}