Я пытаюсь передать строковую переменную из контроллера представления карты в контроллер подробного представления после нажатия кнопки выноски.Я взял название кнопки выноски и сохранил ее в объекте NSString (который был синтезирован в контроллере вида карты).
Затем я выделил и инициализировал контроллер вида карты в контроллере подробного вида и попыталсязарегистрируйте значение один раз в новом контроллере представления, и оно вернулось как нуль.Вот код:
- (void)mapView:(MKMapView *)mapView annotationView:(MKAnnotationView *)view
calloutAccessoryControlTapped:(UIControl *)control
{
TheLocations *annotationTapped = (TheLocations *)view.annotation;
NSLog(@"button clicked on annotaion %@", annotationTapped);
MapViewController *thisMap = (MapViewController *)[[UIApplication sharedApplication] delegate];
DetailViewController *dvc = [[DetailViewController alloc]initWithNibName:@"DetailViewController" bundle:nil];
dvc.title = view.annotation.title;
pinTitle = dvc.title;
NSLog(@"%@", pinTitle);
[thisMap switchViews:self.view toView:dvc.view];
}
Это приводит к успешному журналу значения "pinTitle".pinTitle был создан и синтезирован, так что это строка этого представления карты.
Теперь я переключаюсь в представление подробностей и ввел этот код в метод viewDidLoad:
MapViewController *mvc = [[MapViewController alloc]initWithNibName:@"MapViewController" bundle:nil];
NSLog(@"%@", mvc.pinTitle);
Itраспознает «pinTitle» и позволяет ему выйти из системы, но возвращает «(null)», поэтому где-то по пути значение pinTitle было потеряно.Как получить pinTitle, чтобы сохранить его значение при переключении видов?Большое спасибо за помощь!