2016-02-04 55 views
0

我有一个具有tableView的ViewController。该tableView填充自定义单元格。每个自定义单元格都有一个显示图像的collectionView(假设每个新闻块都有图像时的新闻提要结构)。用包含CollectionView的自定义单元格重新加载单个TableViewCell

现在,编辑任何一个新闻块后,我想刷新该tableView(一个新闻块)的单个单元格。我尝试使用[newsList reloadRowsAtIndexPaths: ... ],前提是我确切知道tableView Cell的indexPath,但问题是,当我向下滚动到下一个tableView Cell并在那里进行编辑时,重新加载第二个Cell后,第一个新闻块的所有图像将会在第二个新闻栏目中显示。

有没有其他方法可以刷新包含CollectionView的Custom Cell?

回答

0

我发现对自定义单元格有帮助的东西是创建一个configureCell方法,并在给出单元格新信息时调用该方法。另外要记住的另一件事是在prepareForReuse中清除自定义数据以帮助解决重用问题。

class TestCell: UICollectionViewCell { 
var myInfo: String? { 
    didSet { 
     if let myInfo = myInfo { 
      configureCell(myInfo) 
     } 
    } 
} 

var label: UILabel? 

//intialize the cell somewhere here 

func configureCell(info: String) { 
    label?.text = info 
} 

override func prepareForReuse() { 
    super.prepareForReuse() 
    label?.text = nil 
} 

}

然后你可以在任何索引路径的单元格,设置新的信息。

希望这可以帮助你。

+0

感谢您的回复。你有没有这个答案的Objective-C版本? – ekashking

相关问题