title: Calling viewdidload and viewdidappear again
body: <p>My app is a geolocation based app. I've implemented to pop up a UIAlertview as soon as some users press "Don't allow location service" button to guide them to settings again to turn on the service.</p>
  
  <p>The problem I'm facing is that when user finally turns on the button, the data are not being loaded to the tableview since my data calling functions are in <code>viewdidload</code> and <code>viewdidappear</code>. Is there a way to call those functions again?</p>
  
  <p>I did something like below and it totally crashes my app:</p>
  
  <pre><code>extension ExploreViewController: CLLocationManagerDelegate {
  func locationManager(manager: CLLocationManager, didChangeAuthorizationStatus status: CLAuthorizationStatus) {
  
      switch status {
      case .Denied:
          // Changed status to denied
          self.locationAlert = UIAlertView(title: "Location Services Permission Needed", message: "Location service needs to be turned on to use Peek! Please press setting button below and turn the service on!", delegate: self, cancelButtonTitle: "Settings")
          locationAlert.show()
          break
      case .AuthorizedWhenInUse:
          self.viewDidLoad()
          self.viewDidAppear(true)
          break
      default
          break
  }
  </code></pre>
  
  <p>When I was doing this way, it was kept calling viewdidload like million times before it crashed the app. Any advices are appreciated</p>