Iphone 按详细信息披露后的注释详细信息?

Iphone 按详细信息披露后的注释详细信息?,iphone,objective-c,ios,cocoa-touch,mkmapview,Iphone,Objective C,Ios,Cocoa Touch,Mkmapview,我有一个MKMapView注释对象,它有一个右详图索引附件详细信息披露按钮。当按下按钮时,我使用addTarget:action:forControlEvent调用一个选择器方法,该方法创建一个细节视图控制器并将其推送到视图堆栈上 我的问题是,访问启动详图索引详图控制器的注释信息的最佳方式是什么。“详细信息披露”按钮设置为调用: [button addTarget:self action:@selector(disclosurePressed:) forControlEvents:UIContr

我有一个MKMapView注释对象,它有一个右详图索引附件详细信息披露按钮。当按下按钮时,我使用addTarget:action:forControlEvent调用一个选择器方法,该方法创建一个细节视图控制器并将其推送到视图堆栈上

我的问题是,访问启动详图索引详图控制器的注释信息的最佳方式是什么。“详细信息披露”按钮设置为调用:

[button addTarget:self action:@selector(disclosurePressed:) forControlEvents:UIControlEventTouchUpInside];
看起来是这样的:

- (void)disclosurePressed:(id)sender {
}

我想我可以查找sender UIButton的父注释,有人能给我一些如何最好地完成此操作的指针吗。

使用
MKMapViewDelegate
mapView:annotationView:calloutAccessoryControlTapped:
方法可能会更容易一些,它直接告诉您点击了哪个注释视图。

一种可靠的方法(如果必须使用自定义方法)是查看地图视图的
selectedAnnotations
属性

尽管该属性是一个
NSArray
,但由于地图视图一次只允许选择一个注释,用户刚刚点击的注释将位于索引0处,因此它将是:

id<MKAnnotation> annTapped = [mapView.selectedAnnotations objectAtIndex:0];

//Here, you can cast annTapped to a custom annotation class if needed.
//Be sure to check what kind of class it is first.

啊哈:)这听起来正是我想要的,让我试试吧。非常感谢涅磐,没问题。我忘了提到,您可以通过MKAnnotationView的
annotation
属性访问实际注释。谢谢Nevan,祝您度过愉快的一天。如何从中获取数字?e、 g如果我想获取注释的ID#以从API检索适当的内容etc@carbonr,希望能把事情弄清楚。如果仍然困惑,建议你并包括问题的细节。安娜,你太棒了!前面的链接就是解决方案。发生的事情是,当我在自定义类中存储数据时,它抛出了一个错误,所以我认为我错了,但我已经找到了答案
id<MKAnnotation> annTapped = view.annotation;