0

我有两种看法。第一个是MKMapView带有一些注释的。单击 aUIButton会在堆栈上推送第二个视图。这有一个UITableView与地图注释相对应的注释列表。因此,当您单击删除按钮时,如何调用 my MKMapViewwhich 在另一个视图中,以便我可以删除注释。MyMKMapView在我的应用程序委托以及我当前的类中声明。我正在尝试使用以下内容,但它不起作用:

RideAppDelegate *appDelegate = (RideAppDelegate *)[[UIApplication sharedApplication] delegate];
Annotation *ano;
CLLocationCoordinate2D anoPoint;
anoPoint.latitude = [[eventToDelete valueForKey:@"latitude"] doubleValue];
anoPoint.longitude = [[eventToDelete valueForKey:@"longitude"] doubleValue];
ano = [[[Annotation alloc] init] autorelease];
ano.coordinate = anoPoint;
[appDelegate.ridesMap removeAnnotation: ano];
[appDelegate release];

我必须尝试MKMapView错误地访问我的其他视图?

4

1 回答 1

1
  • ridesMap 必须是 MKMapView,它必须是 appDelegate 的 ivar。它是(保留)的财产吗?self.ridesMap = [[MKMapView alloc] init]它是用或类似的方式创建和分配的吗?
  • 您确定 Annotation 遵循 MKAnnotation 协议吗?

(为什么要发布 appDelegate?你不拥有或保留它。)

于 2010-05-18T05:56:36.227 回答