Цель C - Передача NSString в другой контроллер представления возвращает нуль - PullRequest
0 голосов
/ 29 июня 2018

Я хочу передать NSString ("theData"), которая содержит заголовок аннотации, другому контроллеру представления, когда я использую NSLog в первом контроллере представления, он возвращает правильный заголовок, однако, когда я пытаюсь отобразить его в текстовая метка в следующем контроллере представления (нулевая), и когда я использую NSLog во втором контроллере представления, она также ничего не возвращает.

UbicacionVC.m

- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view.
self.mapView.delegate = self;
self.searchBar.delegate = self;


 }


- (void)mapView:(MKMapView *)mapView didSelectAnnotationView:(MKAnnotationView *)view
   {
    for (MKPointAnnotation *annotation in mapView.annotations) {
         if (view.annotation != annotation) {
        [mapView removeAnnotation:annotation];
        NSLog(@"yes!");

    }

}
NSString *theData = view.annotation.title;
DireccionVC *direccionVC = [[DireccionVC alloc] init];
direccionVC.theData = theData;


}
- (IBAction)Continue:(id)sender {
UIViewController *VC = [self.storyboard instantiateViewControllerWithIdentifier:@"DireccionVC"];
[self.revealViewController setFrontViewController:VC animated:YES];



 }

DireccionVC.h

 @interface DireccionVC : UIViewController{
     NSString *theData;

 }

 @property (nonatomic, retain) NSString *theData;


 @end

DireccionVC.m

 @interface DireccionVC ()
 @end

 @implementation DireccionVC

 @synthesize theData;
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view.     
self.lblDireccion.text = [NSString stringWithFormat:@"%@", theData];

}

1 Ответ

0 голосов
/ 29 июня 2018

Попробуйте это. Заменить

- (IBAction)Continue:(id)sender {
    UIViewController *VC = [self.storyboard instantiateViewControllerWithIdentifier:@"DireccionVC"];
    [self.revealViewController setFrontViewController:VC animated:YES];
 }

С

- (IBAction)Continue:(id)sender {
    DireccionVC *VC = [self.storyboard instantiateViewControllerWithIdentifier:@"DireccionVC"] as! DireccionVC;
    VC.theData = theData;
    [self.revealViewController setFrontViewController:VC animated:YES];
 }

Просто убедитесь, что ваш DirectionVC в раскадровке фактически является классом DirectionVC. enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...