我有一个符合MKAnnotation
协议的注释类。该类有一个 init 方法,用于设置坐标、标题和副标题。
我创建了这些注释的数组,并通过使用addAnnotations:annotationArray
.
然后在 MKMapViewDelegage 方法中,- (MKAnnotationView *)mapView:(MKMapView *)theMapView viewForAnnotation:(id <MKAnnotation>)annotation
我创建了一个 MKPinAnnotationView,它具有自定义的 pin 颜色、animatesDrop、canShowCallout。标注有一个 UIButton 类型UIButtonTypeDetailDisclosure
。
当我运行应用程序并单击地图上的图钉时,我会得到预期的结果,即带有标题、副标题和 detailDisclosure 按钮的标注。
我想弄清楚的是,[self.navigationController pushViewController:detailsController animated:YES];
当用户单击详细信息披露按钮时,如何将数据传递到详细信息页面 ( )。我试图通过向 init 方法添加一个附加参数来修改我的注释类,但是我无法在- (void)mapView:(MKMapView *)mapView annotationView:(MKAnnotationView *)view calloutAccessoryControlTapped:(UIControl *)control
方法中访问该参数。看来我只能通过做这样的事情从那里访问标题和副标题[view.annotation title]
。
我不知道该怎么做,我似乎也找不到任何关于如何做到这一点的文档......
再次。我想将对象传递给详细视图控制器。该对象将包含将在详细信息页面上使用的各种数据...
PS - 我正在使用带有 ARC 的 Xcode 4.2。