从 Swift 的 2D 数组中删除元素

3

我有一个应用程序,它可以分栏,并允许用户将项目添加到特定的栏。例如,用户可以将“洗车”添加到星期一的栏中。我现在遇到了删除功能无法工作的问题,这样用户就可以删除他们误加或完成的项目。到目前为止,我所做的要么给我一个“类型转换值错误”,要么是“索引超出范围”错误。我想知道这是否是删除项目的正确方法,或者是否有不同的方法。

 func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCellEditingStyle, forRowAt indexPath: IndexPath)   {
    if editingStyle == UITableViewCellEditingStyle.delete   {
        //list.remove(at: indexPath.row)


        list.remove(at: [[indexPath.row]] as Any as! Int)
        UserDefaults.standard.set(list, forKey: "list")

        tableView.reloadData()
    }
}
1个回答

6

我不确定你的二维数组设置方式。我假设list是一个“任务”数组的数组,其中list中的每个数组代表一周的一天。我还假设你的表视图按部分设置,例如每天一个部分,就像你描述的“星期一部分”,其中每个“任务”都是该部分下的单元格。在这种情况下,您可以按如下方式从特定日删除任务

list[indexPath.section].remove(at: indexPath.row)

此外,由于这是在表视图提交方法中,我相信您不需要 tableView.reloadData()

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接