title: Refresh tableview after delete a tableview cell and refresh view controller
body: <p>I need answer for swift by the way. Basically, I have two questions for refreshing. If you think the code is too long to look at, this is what I'm trying to do. one is to refresh the tableview after clicking on the delete button on one of the tableview cell. I've tried refreshcontrol, it didn't work and it wasn't what I wanted but it would be cool to have them. My other question is, how to refresh a view controller by clicking on of the buttons. And here is the code.</p>
  
  <p>The delete button is inside of my custom cell class
  class postCell: UITableViewCell{</p>
  
  <pre><code>@IBOutlet weak var deleteBtn: UIButton!
  @IBOutlet weak var postImg: UIImageView!
  @IBOutlet weak var category: UILabel!
  @IBOutlet weak var location: UILabel!
  @IBOutlet weak var title: UILabel!
  @IBOutlet weak var price: UILabel!
  var prices = String()
  var notes = String()
  var comments = String()
  var locations = String()
  var categories = String()
  var school = String()
  var username = String()
  var date = String()
  
  
  @IBAction func deleteAction(sender: AnyObject) {
      let request = NSMutableURLRequest(URL: NSURL(string: "http://www.percyteng.com/orbit/deletePost.php")!)
      request.HTTPMethod = "POST"
      let postString = "name=\(username)&amp;location=\(locations)&amp;price=\(prices)&amp;notes=\(notes)&amp;school=\(school)&amp;category=\(categories)"
      request.HTTPBody = postString.dataUsingEncoding(NSUTF8StringEncoding)
  
      let task = NSURLSession.sharedSession().dataTaskWithRequest(request) {
          data, response, error in
  
          if error != nil {
              print("error=\(error)")
              return
          }
  
          print("response = \(response)")
  
          let responseString = NSString(data: data!, encoding: NSUTF8StringEncoding)
          print("responseString = \(responseString)")
      }
      task.resume();           NSNotificationCenter.defaultCenter().postNotificationName("NotificationIdentifie‌​r", object: nil)
  
  
  }
  
  override func awakeFromNib() {
      super.awakeFromNib()
  }
  override func setSelected(selected: Bool, animated: Bool) {
      super.setSelected(selected, animated:animated)
  }
  }
  </code></pre>
  
  <p>And the tableview i want to reload data of in another class:</p>
  
  <pre><code>override func viewDidLoad() {
      super.viewDidLoad()
      username = tempUser.username
      self.resultSearchController = ({
          let controller = UISearchController(searchResultsController: nil)
          controller.searchResultsUpdater = self
          controller.dimsBackgroundDuringPresentation = false
          controller.searchBar.sizeToFit()
          self.tableView.tableHeaderView = controller.searchBar
  
          return controller
  
      })()
      get{(value) in
          self.values = value
          for ele in self.values{
              if self.username != ele["username"] as! String{
              }
          }
      }
      self.tableView.reloadData()
      NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(serviceBoard.methodhandlingTheNotificationEvent), name:"NotificationIdentifie‌​r", object: nil)
  
  }
  
  func methodhandlingTheNotificationEvent(){
      tableView.reloadData()
  }
  func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -&gt; Int {
      if (self.resultSearchController.active &amp;&amp; resultSearchController.searchBar.text != "") {
          return self.filteredTableData.count
      }
      else {
          return values.count
      }
  }
  func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -&gt; UITableViewCell {
  
      let cell = tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath) as!postCell
      let maindata = values[values.count-1-indexPath.row]
  
      if (self.resultSearchController.active &amp;&amp; resultSearchController.searchBar.text != "") {
  
  
          //            if (filteredTableData[indexPath.row].rangeOfString("###") == nil){
          cell.postImg.image = UIImage(named:"tile_services")
          cell.title.text = filteredTableData[indexPath.row]
          cell.category.text = "SERVICES"
          var price = String()
          for i in values{
              if (i["title"] as? String)! == filteredTableData[indexPath.row]{
                  price = (i["price"] as? String)!
                  cell.categories = "Services"
                  cell.username = i["username"] as! String
                  cell.prices = i["price"] as! String
                  cell.notes = i["notes"] as! String
                  cell.school = i["school"] as! String
              }
          }
          cell.price.text = price 
  
          return cell
      }
      else {
          if maindata["username"] as! String != username &amp;&amp; username != "admin"{
              cell.deleteBtn.hidden = true
          }
          else{
              cell.categories = "Services"
              cell.username = maindata["username"] as! String
              cell.prices = maindata["price"] as! String
              cell.notes = maindata["notes"] as! String
              cell.school = maindata["school"] as! String
          }
  
          cell.postImg.image = UIImage(named:"tile_services")
          cell.title.text = maindata["title"] as? String
          cell.category.text = "SERVICES"
          cell.price.text = maindata["price"] as? String
  
          return cell
      }
  }
  func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
      let popOverVC = UIStoryboard(name: "Main", bundle: nil).instantiateViewControllerWithIdentifier("showPostT") as! showPostT
      self.addChildViewController(popOverVC)
      popOverVC.view.frame = self.view.frame
      self.view.addSubview(popOverVC.view)
      popOverVC.didMoveToParentViewController(self)
      if (self.resultSearchController.active &amp;&amp; resultSearchController.searchBar.text != "") {
          for i in values{
              if (i["title"] as? String)! == filteredTableData[indexPath.row]{
                  popOverVC.type.text = "SERVICE"
                  popOverVC.typeImg.image = UIImage(named:"tile_services")
                  popOverVC.item.text = "Service: \(i["title"] as! String)"
                  popOverVC.price.text = "Price: \(i["price"] as! String)"
                  popOverVC.notes.text = "Notes: \(i["notes"] as! String)"
                  popOverVC.comments.text = i["comments"] as? String
                  popOverVC.postUser.text = i["username"] as! String
                  popOverVC.notesStr = i["notes"] as! String
                  popOverVC.category = "service"
                  popOverVC.pricesStr = i["price"] as! String
                  if username == popOverVC.postUser.text!{
                      popOverVC.composeBtn.hidden = true
                  }
              }
          }
      }
      else{
          let maindata = values[values.count-1-indexPath.row]
          popOverVC.type.text = "SERVICE"
          popOverVC.typeImg.image = UIImage(named:"tile_services")
          popOverVC.item.text = "Service: \(maindata["title"] as! String)"
          popOverVC.price.text = "Price: \(maindata["price"] as! String)"
          popOverVC.notes.text = "Notes: \(maindata["notes"] as! String)"
          popOverVC.comments.text = maindata["comments"] as? String
          popOverVC.postUser.text = maindata["username"] as! String
          popOverVC.notesStr = maindata["notes"] as! String
          popOverVC.category = "service"
          popOverVC.pricesStr = maindata["price"] as! String
  
          if username == popOverVC.postUser.text!{
              popOverVC.composeBtn.hidden = true
          }
      }
  
  }
  </code></pre>
  
  <p>I don't think I need code for my second question, I simply want to know how to refresh a view controller. I tried to close the current controller and reopen it, but it obviously doesn't work.</p>
  
  <p>I would really appreciate if you guys can help any of the questions! </p>
  
  <p>Thank you!</p>