ios – 防止在表视图Swift中重用自定义单元格

我有一个问题,我不知道如何解决.

我有两个自定义单元格笔尖 – 两者的数据都是从单独的数组中获取的.

结构如下

nib1-cell line1
nib1-cell line2
...
nib1-cell line n
nib2-cell line1

最后总是有一个nib2-cell和uibutton.
按下uibutton后,将附加nib1数组.
我想出了一种如何在tableview底部插入值的方法,但是当我向下或向上滚动时,带有nib2的单元格被重用并被nib1-cell数据替换.
《ios – 防止在表视图Swift中重用自定义单元格》

我怎样才能阻止这些细胞被重用或者保存它们的状态?

谢谢.

UPDATE:datasource和cellForRowAtIndexPath代码

func tableView(tableView:UITableView,numberOfRowsInSection section:Int) – > Int {

    return someTagsArray.count

}

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell     {

    if(indexPath.row < someTagsArray.count - 1){
        var cell:TblCell = self.tableView.dequeueReusableCellWithIdentifier("cell") as! TblCell

        cell.lblCarName.text = someTagsArray[indexPath.row]


        return cell

    } else if (indexPath.row == someTagsArray.count - 1){
      var celle:vwAnswers = self.tableView.dequeueReusableCellWithIdentifier("cell2") as! vwAnswers
        celle.Answer1.setTitle(answersdict[answersdict.endIndex - 2], forState:UIControlState.Normal)

        answertitle1 = "\(celle.Answer1.currentTitle!)"

        celle.Answer2.setTitle(answersdict.last, forState:UIControlState.Normal)
        answertitle2 = "\(celle.Answer2.currentTitle!)"

        //println(answertitle2)

        return celle

    } else {
                    var cell2:TblCell = self.tableView.dequeueReusableCellWithIdentifier("cell") as! TblCell
        return cell2
    }

}

最佳答案 您必须在cellForRowAtIndexPath中确定所需的单元格类型,并使正确的可重用单元格出列.也许像if(indexPath.row 1)%3 == 0然后将答案单元格出列.

但是,您可能希望查找使用节标题.很难说没有看到你如何实现你的数据源.

点赞