我有包含自定义单元格的表包含uisegment 问题是当在uisegment中选择任何项目并在表格视图中向下滚动时,它会更改表格中单元格中的uisegment中的选择
几乎是像11和2的单元格1,如12
它与dequeueReusableCellWithIdentifier有关,我的问题是解决它的最佳方法是什么?
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell
{
let item = self.cells.items[indexPath.row]
if let cellHedaer: TcPationQuestionHeader = tableView.dequeueReusableCellWithIdentifier("HeaderItem") as? TcPationQuestionHeader {
cellHedaer.setCell(Results.Questions[indexPath.row/2 ])
if item as? SwiftyAccordionCells.HeaderItem != nil {
let cellItem: TcPationQuestionItem = tableView.dequeueReusableCellWithIdentifier("Item") as! TcPationQuestionItem
cellItem.setCell(Results.Questions[indexPath.row/2])
return cellItem
}
cellHedaer.selectionStyle = UITableViewCellSelectionStyle.None
return cellHedaer
}
答案 0 :(得分:1)
我在您的代码中看到了两个主要问题:
您不应该将状态保留在UI中。每个从UI访问数据 是一个很大的错误。你应该在模型中保持选择。最简单的方法是将数组var保留在控制器中。
在某些情况下,您会拨打dequeueReusableCellWithIdentifier
2次。这也不应该发生。
不要忘记cellForRow
的实施已与numberOfRowsAtIndexPath
和numberOfSections
相关联。如果你想更详细的帮助粘贴这两个功能。