gpt4 book ai didi

ios - 修改按分段控件排序的 TableView 单元格编辑

转载 作者:行者123 更新时间:2023-11-30 13:59:20 25 4
gpt4 key购买 nike

我有一个任务表格 View 。我在表格上方还有一个分段控件,它有两个选择,第一个用于显示常规表格,另一个用于过滤表格数组以选择与当前日期具有相同日期的元素,然后,我添加这些将新元素添加到新数组并重新加载 TableView ,该 View 检查分段控件中选定的按钮是否是第二个按钮,它将加载过滤数组的元素作为表的单元格。我对单元格有一个操作,因此如果单击它们,您将进入一个可以更改单元格颜色的 View 。问题就发生在这里。我将单元格的索引路径存储在表中,以确定要编辑哪个单元格(行),但如果选定的分段按钮是第二个,则将根据过滤中元素的顺序存储索引table ,所以当我完成编辑单元格时,由于普通表格和过滤后的表格索引之间存在冲突,具有该索引的单元格的颜色将发生变化,而不是实际单元格的颜色。希望足够清楚地解释我的情况,如果不是,请向我寻求更多解释。

这是表格加载代码:

 override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
// #warning Incomplete method implementation.
// Return the number of rows in the section.
if sortTableClicked
{
return filteredAchivements.count


}else
{

return achievements.count

}

}


override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("myCell2", forIndexPath: indexPath) as! AchievementsCells
var arr = [achievement]()
if sortTableClicked
{

arr = filteredAchivements

}else
{

arr = achievements

}

cell.name.text = arr[indexPath.row].name

cell.des.text = arr[indexPath.row].des

cell.date.text = "\(arr[indexPath.row].date) : تم إضافته بتاريخ "
cell.backgroundColor = arr[indexPath.row].cellColor

return cell
}

我有这个函数,它接收从表发送的索引路径,并根据该索引路径应用更改。

    func applyEdit(color: UIColor, name: String, des: String, index: NSIndexPath) {



taskMgr.editCellDataAtIndex(index, forTable: "achievementsTable", theNewName: name, theNewDes: des, theNewColor: color)


taskMgr.loadData("achievementsTable")
achievements = []
achievements = taskMgr.achievements

tableView.reloadData()

}

发生的情况是,如果加载的表格是过滤后的表格,并且假设我要编辑第二个单元格,则indexpath.row将为1,因此更改颜色的单元格将是表格上的第二个单元格,但是实际上,过滤表中的第二个单元格是非过滤表中的第五个单元格,所以我想对第五个而不是第二个应用更改,有人知道吗?

最佳答案

问题是您正在保存静态的单元格索引路径,并且不会随着 TableView 中的更改而更改。

您可以通过在模型 arr 中再添加一个用于向表提供数据的 bool 属性来轻松解决此问题。名称为 shouldChangeColor 并将此属性设置为 true。现在,您的模型数据已更新。在 cellForRowAtIndexPath 函数中使用此属性来更改单元格颜色。

由于单元格是按照您从模型提供数据的顺序绘制的,这将保证您的第二个单元格在过滤模式下绘制为颜色,而在其他选项卡模式下绘制第五个单元格。

关于ios - 修改按分段控件排序的 TableView 单元格编辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33187359/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com