【问题标题】:Remove the cells below the selected one from the UITableView Swift 3从 UITableView Swift 3 中删除所选单元格下方的单元格
【发布时间】:2017-07-06 07:25:35
【问题描述】:

在这里,当从 UITableView 中选择特定行时,我试图在选定的一个数组之后删除剩余的对象。

这是我的示例数组:

var myArray = ["rahul","rahib","suhail","alex","siya"]

如果我选择myArray[2],则应删除"suhail" 之后的剩余元素,最终数组必须为["rahul","rahib","suhail"]。

这是我的尝试,但它只删除了一个对象:

var selectedIndex = indexPath.row
myArray.remove(at: selectedIndex+1)

提前致谢!

【问题讨论】:

  • @PiyushPatel 此解决方案仅删除所选项目..无需删除所选项目。删除所选项目之后的项目。
  • ok 只需将您的数组从 let 更改为 var

标签: ios arrays swift uitableview


【解决方案1】:

将let 更改为var 为myArray

var myArray = ["rahul","rahib","suhail","alex","siya"]

使用removeSubrange(_:) 方法从数组中删除剩余项

myArray.removeSubrange(indexPath.row..<myArray.count)

【讨论】:

    【解决方案2】:

    由于您的myArray 被声明为常量,因此您无法修改它。

    改变

    let myArray = ["rahul","rahib","suhail","alex","siya"]
    

    到

    var myArray = ["rahul","rahib","suhail","alex","siya"]
    

    并照常删除对象。

    var myArray = ["rahul","rahib","suhail","alex","siya"]
    let selectedIndex = 3
    for index in selectedIndex...myArray.count-1 {
        myArray.removeLast()
    }
    print(myArray)
    

    【讨论】:

      【解决方案3】:

      试试这个删除

          var myArray = ["rahul","rahib","suhail","alex","siya"]
          print(myArray)
      
          let selectedIndex = 2
          myArray.removeSubrange(selectedIndex..<myArray.count)
      
          print(myArray)
      

      【讨论】:

        猜你喜欢
        • 2017-05-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-08-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多