title: Swift - Custom MKAnnotationView, set label title
body: <p>I am trying to customise the MKAnnotationView for my mapView callout bubbles. I am fine with setting the annotation title when the annotation is created, and also customising the MKAnnotationView to add labels or images e.t.c (in the <code>viewForAnnotation</code> delegate), but how do I change the label created in the <code>viewForAnnotation</code> delegate, so that the title of it is different for each pin? </p>
  
  <p>The other issue I have is that if I don't add a title or subtitle to the annotation when it is created in the viewDidLoad method, but I still try and create one by leaving <code>self.map.addAnnotation(annotation)</code>, when I run the app and tap the pin no callout bubble is displayed.</p>
  
  <p>In the end I would like to have totally customised callout bubbles, with individual labels on them for each pin. So what i really ned to know is how to access the viewForAnnotation delegate when the annotation is created to change properties of it for each pin. </p>
  
  <pre><code>override func viewDidLoad() {
          super.viewDidLoad()
  
          var countries: [String] = ["Germany","Germany","Poland","Denmark"]
          var practiceRoute: [CLLocationCoordinate2D] = [CLLocationCoordinate2DMake(50, 10),CLLocationCoordinate2DMake(52, 9),CLLocationCoordinate2DMake(53, 20),CLLocationCoordinate2DMake(56, 14)]
  
          for vari=0; i&lt;practiceRoute.count; i++ {
  
              var annotation = MKPointAnnotation
              annotation.title = countries[i]
              annotation.coordinate = practiceRoute[i]
              self.map.addAnnotation(annotation)
  
          }
  
  }
  
  func mapView(mapView: MKMapView!, viewForAnnotation annotation: MKAnnotation!) -&gt; MKAnnotationView! {
  
      if annotation is MKUserLocation {
          return nil
      }
  
      let reuseId = "pin"
      var pinView = mapView.dequeueReusableAnnotationViewWithIdentifier(reuseId) as? MKPinAnnotationView
  
      if(pinView==nil){
  
          pinView=MKPinAnnotationView(annotation: annotation, reuseIdentifier: reuseId)
          pinView!.canShowCallout = true
  
          let base = UIView(frame: CGRect(x: 0, y: 0, width: 100, height: 50))
          base.backgroundColor = UIColor.lightGrayColor()
  
          let label1 = UILabel(frame: CGRect(x: 30, y: 10, width: 60, height: 15))
          label1.textColor = UIColor.blackColor()
          label1.text = "12 photos"
          base.addSubview(label1)
          pinView!.leftCalloutAccessoryView = base
          pinView!.pinColor = .Red
  
      }
  
      return pinView
  
  }
  </code></pre>