ios TableView那些事3(Swift 三) TableView 的删除操作

删除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.
    }


}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值