【问题标题】:Removing elements from a 2D array Swift从 2D 数组 Swift 中删除元素
【发布时间】:2017-03-05 05:33:26
【问题描述】:

我有一个应用程序,它允许用户将项目添加到某个部分。例如,用户可以将“洗车”添加到星期一部分。我无法使删除功能正常工作,因此如果用户偶然添加了该项目或已完成该项目,则他们可以删除该项目。到目前为止,我给了我一个“无法转换类型值”错误或“索引超出范围”错误。我正在寻找这是否是删除项目的正确方法,或者是否有不同的方法。

 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()
    }
}

【问题讨论】:

    标签: swift


    【解决方案1】:

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

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

    另外,由于这是在表格视图提交方法中,我很确定您不需要tableView.reloadData()

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-12-02
      • 2014-11-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-31
      相关资源
      最近更新 更多