title: iPhone - adding custom MKAnnotation to MapView does not get added
body: <p>for some reason I am having some problems with my custom MKAnnotation class and having it added to the map. I have also attempted to use the basic MKPointAnnotation to see if this would work, however it does not. In my function I create the Annotation, and then add it, while printing NSLogs to verify that the data is in the annotation. When it gets to printing the contents of map's annotations array, the count is 0. Does anyone know why it is not getting added to the mapView?</p>
  
  <pre><code>- (void)viewDidLoad {
      [map setMapType:MKMapTypeStandard];
      [map setDelegate:self];
      MKCoordinateRegion viewRegion = MKCoordinateRegionMakeWithDistance(CLLocationCoordinate2DMake(30.451667, -84.268533), 16090.344, 16090.344);
      viewRegion = [map regionThatFits:viewRegion];
      [map setRegion:viewRegion animated:YES];
      [map setShowsUserLocation:YES];
  } 
  
  - (void)loadBuilding {
          if (buildAnnotation != nil) {
              [map removeAnnotation:buildAnnotation];
          }
          buildAnnotation = [[BuildingAnnotation alloc] initWithCoordinate:building.getLocation withName:building.getName withAddress:building.getAddress];
          [map addAnnotation:buildAnnotation];
          [map setCenterCoordinate:buildAnnotation.coordinate animated:YES];
          NSLog(@"%@\n%@\n %f, %f", buildAnnotation.title, buildAnnotation.subtitle, buildAnnotation.coordinate.latitude, buildAnnotation.coordinate.longitude);
          NSLog(@"%i", [[map annotations] count]);
      }
  
  - (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id &lt;MKAnnotation&gt;)annotation {
      NSLog(@"IN DELEGATE");
      static NSString *identifier = @"MyLocation";
      if ([annotation isKindOfClass:[BuildingAnnotation class]]) {
  
          MKPinAnnotationView *annotationView = (MKPinAnnotationView *) [map dequeueReusableAnnotationViewWithIdentifier:identifier];
          if (annotationView == nil) {
              annotationView = [[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:identifier];
          } else {
              annotationView.annotation = annotation;
          }
  
          annotationView.enabled = YES;
          annotationView.canShowCallout = YES;
          annotationView.pinColor = MKPinAnnotationColorGreen;        
          return annotationView;
      }
  
      return nil;
  }
  </code></pre>
  
  <p>BuildingAnnotation.h:</p>
  
  <pre><code>#import &lt;Foundation/Foundation.h&gt;
  #import &lt;MapKit/MapKit.h&gt;
  
  @interface BuildingAnnotation : NSObject &lt;MKAnnotation&gt; {
      CLLocationCoordinate2D coordinate;
      NSString *title;
      NSString *subtitle;
  }
  
  @property (nonatomic, copy) NSString *title; 
  @property (nonatomic, copy) NSString *subtitle;
  @property (nonatomic, readonly) CLLocationCoordinate2D coordinate;
  
  -(id)initWithCoordinate:(CLLocationCoordinate2D) c;
  -(id)initWithCoordinate:(CLLocationCoordinate2D)c withName:(NSString*)name withAddress:(NSString*)address;
  - (CLLocationCoordinate2D) coordinate;
  
  @end
  </code></pre>
  
  <p>BuildingAnnotation.m:</p>
  
  <pre><code>#import "BuildingAnnotation.h"
  
  @implementation BuildingAnnotation
  
  @synthesize coordinate, title, subtitle;
  
  - (id)initWithCoordinate:(CLLocationCoordinate2D) c {
      coordinate = c;
      title = @"Title";
      subtitle = @"Subtitle";
      return self;
  }
  
  -(id)initWithCoordinate:(CLLocationCoordinate2D)c withName:(NSString*)name withAddress:(NSString*)address {
      self = [super init];
      if (self) {
          coordinate = c;
          title = name;
          subtitle = address;
      }
      return self;
  }
  
  - (CLLocationCoordinate2D) coordinate {
      return coordinate;
  }
  
  
  @end
  </code></pre>