title: Cannot convert value of type 'ViewController?' to expected argument type '_OptionalNilComparisonType'
body: <p>I'm implementing <code>MapKit</code> into my app I have been able to display users current location. Now I'm trying to display current street name and street address onto a label which I have on my storyboard but i get this error:: </p>
  
  <blockquote>
    <p>Cannot convert value of type 'ViewController?' to expected argument type '_OptionalNilComparisonType' on this line of code </p>
  </blockquote>
  
  <pre><code>guard let self = self else { return }
  </code></pre>
  
  <p>Below is my sample <strong>code:</strong></p>
  
  <pre><code>extension ViewController: MKMapViewDelegate {
  func mapView(_ mapView: MKMapView, regionDidChangeAnimated animated: Bool) {
      let center = getCenterLocation(for: mapView)
      let geoCoder = CLGeocoder()
  
      guard let previousLocation = self.previousLocation else { return }
      guard center.distance(from: previousLocation) &gt; 50 else { return }
      self.previousLocation = center
  
      geoCoder.reverseGeocodeLocation(center) { [weak self] (placemarks, error) in
          guard let self = self else { return }
  
          if let _ = error {
              //TODO show alert informing the user
              return
          }
  
          guard let placemark = placemarks?.first else {
              //TODO Show alert informing the user
              return
          }
  
          let streetNumber = placemark.subThoroughfare ?? ""
          let streetName = placemark.thoroughfare ?? ""
  
          DispatchQueue.main.async {
              self?.addressLabel.text = "\(streetNumber) \(streetName)"
          }
      }
  }
  }
  </code></pre>