加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

从Swift 3中的UITableView删除一行?

发布时间:2020-12-14 05:45:44 所属栏目:百科 来源:网络整理
导读:我是编程和学习swift的新手,我正在学习swift 2的教程并使用swift 3,因此我跟随时会遇到一些问题,这是我正好坚持的问题. 我有一个名称表,我正在为他们制作一个滑动和删除功能,它从名称变量中删除它们是一个数组.我在xcode中选择了与教程最相似的函数并将它们
我是编程和学习swift的新手,我正在学习swift 2的教程并使用swift 3,因此我跟随时会遇到一些问题,这是我正好坚持的问题.

我有一个名称表,我正在为他们制作一个滑动和删除功能,它从名称变量中删除它们是一个数组.我在xcode中选择了与教程最相似的函数并将它们填满,但是当我单击删除按钮时,我的应用程序随机崩溃.这是删除按钮的代码…

func tableView(_ tableView: UITableView,editActionsForRowAt indexPath: IndexPath) -> [UITableViewRowAction]? {

    let deleteAction = UITableViewRowAction(style: .destructive,title: "Delete") { (rowAction: UITableViewRowAction,indexPath: IndexPath) -> Void in

        print("Deleted")

        self.catNames.remove(at: indexPath.row)
        self.tableView.deleteRows(at: [indexPath],with: UITableViewRowAnimation.automatic)
        self.tableView.reloadData()
    }
适用于Swift 3和Swift 4

使用UITableViewDataSource tableView(:commit:forRowAt :)方法,另请参阅此答案here:

func tableView(_ tableView: UITableView,commit editingStyle: UITableViewCellEditingStyle,forRowAt indexPath: IndexPath) {
  if editingStyle == .delete {
    print("Deleted")

    self.catNames.remove(at: indexPath.row)
    self.tableView.deleteRows(at: [indexPath],with: .automatic)
  }
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读