title: Swift: why MKPointAnnotation and not MKAnnotation. Errors out with "'MKAnnotation' cannot be constructed because it has no accessible initializers"
body: <p>In order to add an annotation to the mapview in Swift, I have this code that works eg:</p>
  
  <p>let myLocation = CLLocationCoordinate2D(55.55, -77.77)</p>
  
  <pre><code>let annotation = MKPointAnnotation()
  annotation.coordinate = myLocation
  annotation.title = "Some place"
  map.addAnnotation(annotation)
  </code></pre>
  
  <p>But my question is, map.addAnnotation expects the type 'MKAnnotation', and NOT 'MKPointAnnotation' as below.
  map.addAnnotation(annotation: MKAnnotation)</p>
  
  <p>and if I create an instance of MKAnnotation,i.e,
  let annotation =  MKAnnotation()
  I get an error "'MKAnnotation' cannot be constructed because it has no accessible initializers" and can't set the properties like annotation.coordinate or title etc.</p>
  
  <p>So why doesn't this work
  let myLocation = CLLocationCoordinate2D(55.55, -77.77)</p>
  
  <pre><code>let annotation = MKAnnotation() //error
  annotation.coordinate = myLocation //property not accessible
  annotation.title = "Some place" //property not accessible
  map.addAnnotation(annotation)
  </code></pre>
  
  <hr>