在UITableViewDelegate中继承三个方法
func tableView(tableView:UITableView,canEditRowAtIndexPath indexPath: NSIndexPath) -> Bool
func tableView(tableView:UITableView,editingStyleForRowAtIndexPath indexPath:NSIndexPath) -> UITableViewCellEditingStyle
func tableView(tableView:UITableView,commitEditingStyle editingStyle: UITableViewCellEditingStyle,forRowAtIndexPath indexPath: NSIndexPath)
然后分别在三分方法中添加业务逻辑。
<pre name="code" class="objc"><pre name="code" class="plain">//mark 设置可以进行编辑 func tableView(tableView: UITableView,canEditRowAtIndexPath indexPath: NSIndexPath) -> Bool{ println("mark 设置可以进行编辑")
return true } // mark 设置编辑的样式 func tableView(tableView: UITableView,editingStyleForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCellEditingStyle{ println("mark 设置编辑的样式") return UITableViewCellEditingStyle.Delete } //删除cell func tableView(tableView: UITableView,commitEditingStyle editingStyle: UITableViewCellEditingStyle,forRowAtIndexPath indexPath: NSIndexPath){ println("删除cell") if editingStyle == UITableViewCellEditingStyle.Delete{ //1,从本地数据库将数据移除
//调用dbhelper中的delete方法删除cocodata中的数据 dbhelper.deleteConversationBySay(conlist[indexPath.row].say) conlist.removeAtIndex(indexPath.row) //2.reload
//直接使用reload方法界面的变化非常迅速,用户体验非常不好 //tv.reloadData() //这个具有动画效果 self.tv.deleteRowsAtIndexPaths([indexPath],withRowAnimation: UITableViewRowAnimation.Automatic) } }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。