title: delete tableview cell from button inside it
body: <p>I want my swift code to delete the tableview cell from the button inside the cell. If the user hits the delete button from the cell with the label containing 2 it should delete that cell. So you would see the cells of 0,1,3,4. The delete button should not delete the cell that is at the bottom of the cell. Each delete bottom should only delete that cell. I think you would create a specific function in class view controller to do this.</p>
  <pre><code>import UIKit
  
  class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {
  
      var numberOfRows = 5
  
      func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -&gt; Int { numberOfRows }
  
      func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -&gt; CGFloat { 118 }
  
      var tableView = UITableView()
      var selectedIndexPath = IndexPath(row: 0, section: 0)
  
      override func viewDidLoad() {
          super.viewDidLoad()
  
          setTableVIew()
      }
  
  
      func setTableVIew(){
      
            
           
         
          
          let VCframe = view.frame
          let height = VCframe.height * 0.8
             
          let widthx = VCframe.width
  
     
               tableView.frame = CGRect(x: 10, y: 0, width: widthx - 20, height: height)
            
          tableView.delegate = self
          tableView.dataSource = self
          view.addSubview(tableView)
    
        
          tableView.register(customtv.self, forCellReuseIdentifier: &quot;cell&quot;)
      }
   
  
   func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -&gt; UITableViewCell {
         let cell = tableView.dequeueReusableCell(withIdentifier: &quot;cell&quot;, for: indexPath) as! customtv
         //cell.textLabel?.text = &quot;\(indexPath.row)&quot;   // Don't Do this.
         cell.lbl.text = &quot;\(indexPath.row)&quot;            // Do this.
  
         return cell
     }
  
  
      
  }
  class customtv: UITableViewCell {
      lazy var backView : UIView = {
        let view = UIView(frame: CGRect(x: 10, y: 6, width: self.frame.width  , height: 110))
        view.backgroundColor = .green
        print(self.frame.width)
            return view
        }()
        
  
        
        override func layoutSubviews() {
           backView.clipsToBounds = true
           backView.frame =  CGRect(x: 0, y: 6, width: bounds.maxX  , height: 110)
     
  
        }
      lazy var lbl : UILabel = {
          let press = UILabel(frame: CGRect(x: 0, y: 3, width: 120 , height: 50))
          press.backgroundColor = .yellow
          press.text = String(&quot;1&quot;)
              
          return press
      }()
  
     
   
  
  
   
      lazy var deleteBTN : UIButton = {
          let press = UIButton(frame: CGRect(x: 200, y: 3, width: 65 , height: 50))
          press.backgroundColor = .systemBlue
          press.setTitle(&quot;DELETE&quot;, for: .normal)
  
          return press
      }()
  
   
  
      override func setSelected(_ selected: Bool, animated: Bool) {
          super.setSelected(animated, animated: true)
          addSubview(backView)
          backView.addSubview(deleteBTN)
          backView.addSubview(lbl)
      }
  }
  </code></pre>