これは自慢ではありませんが...解決策を思いつきました。テーブルビューの設定に使用される配列のインデックスに基づいて、個々の注釈のタグ値を設定しました。
-(void)mapView:(MKMapView *)mapView annotationView:(MKAnnotationView *)view calloutAccessoryControlTapped:(UIControl *)control {
//So, we clicked that disclosure button
//TODO: This is really hacky... What is proper way to do this?
ServicesViewController *vc = [self.navigationController.viewControllers objectAtIndex:1];
[vc infoButtonPressed:control.tag];
}
ServicesViewController でこれを行うことができます。
- (void) infoButtonPressed:(NSInteger) index {
// decided against this first step, as graver's answer explains, it does not really make sense
//[self.navigationController popViewControllerAnimated:false];
//index should be nav array index we want to push
//so simulate a table-row click
[self tableView:self.tableView didSelectRowAtIndexPath:[NSIndexPath indexPathForRow:index inSection:0]];
}