最近公司项目做了一个投票和评分功能。效果类似于答题类的功能,多个题目多选或单选。
起初不是我做的,同事采用CollectionView + TableView的方式实现的,开始没觉得有什么问题。但是嵌入数据实现逻辑的时候问题来了。
其他的不说,就说重用。其中涉及两个重用,起初遇到确实有点崩溃了。
解决重用数据冲突的根本方式,还是在cellForItemAtIndexPath方法中,每次加载都重置数据。比如我遇到这个问题:我让最后一个增加一个“提交”按钮,之前我直接添加,就会出现重复显示。【button依附在一个View上,将它加到TableView的FooterView】
开始我这样做:
//cellForRowAtIndexPath方法
// 提交按钮,自定义的初始化方法
SubmitView *submitView = [SubmitView footerView];
//根据数据个数判断是不是最后一个cell
if (indexPath.row == _dataSourceArray.count) {
//是否是最后一个,增加footer视图
[cell.co