У меня есть класс аннотаций, соответствующий протоколу MKAnnotation
. У класса есть метод init, который устанавливает координаты, заголовок и субтитры.
Я создаю массив этих аннотаций и добавляю их в MKMapView обычным способом, используя addAnnotations:annotationArray
.
Затем в методе MKMapViewDelegage - (MKAnnotationView *)mapView:(MKMapView *)theMapView viewForAnnotation:(id <MKAnnotation>)annotation
Я создаю MKPinAnnotationView с пользовательским цветом пина, 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 - я использую Xcode 4.2 с ARC.