为什么我的代码后没有在地图上添加注释?

时间:2012-09-04 15:29:56

标签: objective-c ios xcode mapkit

NSMutableArray* annotations = [[NSMutableArray alloc] init];

//This is the details needed to make a new annotation.
CLLocationCoordinate2D autoCoord1;
autoCoord1.latitude = 37.78616;
autoCoord1.longitude = -122.41018;

MyAnnotation* autoAnnot1 = [[MyAnnotation alloc] init];

autoAnnot1.coordinate = autoCoord1;
autoAnnot1.title = @"auto";
autoAnnot1.subtitle = @"auto";

[mapViewVC addAnnotation:autoAnnot1];

[annotations addObject:autoAnnot1];

我有这个代码在我的另一个mapkit应用程序中工作,但是我似乎无法在给定坐标的地图上看到注释autoAnnot1

代码[mapViewVC addAnnotation:autoAnnot1];当然应该将该注释添加到地图中吗?

MyAnnotation.h类如下所示:

#import <Foundation/Foundation.h>
#import "MapKit/MapKit.h"

@interface MyAnnotation : NSObject <MKAnnotation> {

    CLLocationCoordinate2D coordinate;
    NSString*              title;
    NSString*              subtitle;
}

@property (nonatomic, assign) CLLocationCoordinate2D    coordinate;
@property (nonatomic, copy)   NSString*                 title;
@property (nonatomic, copy)   NSString*                 subtitle;

@end

以下是显示断点和输出

的图像

enter image description here

enter image description here

1 个答案:

答案 0 :(得分:1)

我猜测你向我们展示的代码是在视图控制器的初始化方法中。此时,视图对象尚未实例化。你的网点都是nil。设置视图的代码应该采用viewDidLoad方法,该方法在加载视图并连接了您的插件后调用。