需要帮助解决MKMapView Annotation上的一些设计问题

时间:2011-09-04 00:19:56

标签: iphone objective-c ipad

所以我有一个地图视图,如果我点击附件视图,它会将新视图推送到导航控制器。问题是我还想设置该视图控制器的局部变量(在我的视图控制器中我有一个名为venue的实例,我想在其中设置)我正在实现的委托是:< / p>

- (void) mapView: (MKMapView *) mapView annotationView:(MKAnnotationView *) view calloutAccessoryControlTapped:(UIControl *) control

我想的是将MKAnnotationView子类化,然后在那里存储场地,但我认为这会失败,因为MKAnnotationView只应该是视图而不是数据存储。那么最好的方法是什么?

换句话说,问题在于,每个引脚都有一个场所需要通过上面的委托传递给视图控制器实例。

1 个答案:

答案 0 :(得分:1)

如果您的注释对象(符合MKAnnotation的类)已经具有场地属性,您可以使用calloutAccessoryControlTapped view.annotationMyAnnotationClass *myAnnot = (MyAnnotationClass *)view.annotation; DetailViewController *dvc = [[DetailViewController alloc] init... dvc.venue = myAnnot.venue; [self.navigationController pushViewController:dvc animated:YES]; [dvc release]; 中访问它:

{{1}}