删除tableview 通常 手势滑动删除 和导航放个管理删除按钮 下面实现的就是这两种方法
import UIKit
class ViewController: UITableViewController {
var dataScoure = ["one","hello","miss","ios","good"]
var barButtonItem:UIBarButtonItem?;
override func viewDidLoad() {
super.viewDidLoad()
setRightDeleteButtonItem()
// Do any additional setup after loading the view, typically from a nib.
}
//设置导航右边管理按钮
func setRightDeleteButtonItem(){
barButtonItem = UIBarButtonItem(title:"管理", style: .Done, target: self, action: "RightButtonItemAction")
barButtonItem!.tag = 10;
self.navigationItem.rightBarButtonItem = barButtonItem
}
func RightButtonItemAction(){
if barButtonItem?.tag == 10{
self.tableView.setEditing(true, animated: true);
barButtonItem!.title = "删除"
barButtonItem!.tag = 20;
}
else{
self.tableView.setEditing(false, animated: true);
barButtonItem!.title = "管理"
barButtonItem!.tag = 20;
}
}
override func numberOfSectionsInTableView(tableView: UITableView) -> Int{
return 1;
}
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int{
return dataScoure.count;
}
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell{
let cell:UITableViewCell = UITableViewCell(style: UITableViewCellStyle.Default, reuseIdentifier: "cell")
cell.textLabel.text = dataScoure[indexPath.row];
return cell;
}
//删除函数
override func tableView(tableView: UITableView, commitEditingStyle editingStyle: UITableViewCellEditingStyle, forRowAtIndexPath indexPath: NSIndexPath){
//删除数据源的对应数据
dataScoure.removeAtIndex(indexPath.row)
//删除对应的cell
self.tableView?.deleteRowsAtIndexPaths([indexPath], withRowAnimation: UITableViewRowAnimation.Top)
//数据源为空的时候管理按钮不能删除
if self.dataScoure.count == 0{
barButtonItem?.enabled = false;
}
}
//把delete 该成中文
override func tableView(tableView: UITableView, titleForDeleteConfirmationButtonForRowAtIndexPath indexPath: NSIndexPath) -> String! {
return "删除"
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}