所以我有一个地图视图,如果我点击附件视图,它会将新视图推送到导航控制器。问题是我还想设置该视图控制器的局部变量(在我的视图控制器中我有一个名为venue的实例,我想在其中设置)我正在实现的委托是:< / p>
- (void) mapView: (MKMapView *) mapView annotationView:(MKAnnotationView *) view calloutAccessoryControlTapped:(UIControl *) control
我想的是将MKAnnotationView子类化,然后在那里存储场地,但我认为这会失败,因为MKAnnotationView只应该是视图而不是数据存储。那么最好的方法是什么?
换句话说,问题在于,每个引脚都有一个场所需要通过上面的委托传递给视图控制器实例。
答案 0 :(得分:1)
如果您的注释对象(符合MKAnnotation
的类)已经具有场地属性,您可以使用calloutAccessoryControlTapped
view.annotation
在MyAnnotationClass *myAnnot = (MyAnnotationClass *)view.annotation;
DetailViewController *dvc = [[DetailViewController alloc] init...
dvc.venue = myAnnot.venue;
[self.navigationController pushViewController:dvc animated:YES];
[dvc release];
中访问它:
{{1}}