addAnnotation 不更新地图?

addAnnotation not updating Map?

我创建了以下方法来将图钉添加到我的地图视图。我试过调用它来让它添加单个引脚,但是当我从不同的视图控制器调用它时它什么也没做?

-(void)addPins:(NSDecimalNumber*) woX ycoord:(NSDecimalNumber*) woY {
    CLLocationCoordinate2D coordinate;
    coordinate.latitude = 35;
    coordinate.longitude = -80;
    MKPointAnnotation *annotation = [[MKPointAnnotation alloc] init];
    [annotation setCoordinate:coordinate];
    [annotation setTitle:@"Title"];
    [self.mapView addAnnotation:annotation];
}

我可以从 DetailViewController 的 viewDidLoad 调用它,它会显示单个引脚:

[self addPins:woX ycoord:woY];

但是当我从 MasterViewController 调用它时没有任何显示,但会记录评论所以我知道它是 运行?

DetailViewController *firstController = [[DetailViewController alloc] init];  
[firstController addPins:woX ycoord:woY];

我认为发生这种情况是因为当您调用 [firstController addPins:woX ycoord:woY]; 时地图对象尚未加载到内存中,您可以尝试像这样延迟后调用它吗 [firstController performSelectorWithObjects:@[woX, woY] afterDelay:1.0f]

祝你好运

安娜走在正确的道路上。我正在创建 DetailViewController 的新实例。

我可以通过添加

来解决它
@property (strong, nonatomic) DetailViewController *detailViewController;

到MasterViewController.h。然后只需调用

[self.detailViewController addPins:woX ycoord:woY desc:cellView];

在MasterViewController.m