Я довольно новичок в программировании Objective-C. Единственное, с чем я сейчас сталкиваюсь, - это передать значение с первого ViewController
на следующее.Передайте значение от одного ViewController к другому в Objective-C
Я читал this entry here, и это меня не помогло. Что смешно, так как его ответ имеет около 500 голосов, поэтому я должен быть проблемой. То, что я сделал, было следующим.
Я открыл свой PreviewViewController.m
и добавил следующую строку #import "MainViewController.h"
, так как я хотел передать значение из PreviewViewController
в `MainViewController. Затем, когда я переключаю макеты (которые успешно работают), я хочу передать значение.
MainViewController *mainViewController = [[MainViewController alloc] initWithNibName:@"MainViewController" bundle:nil];
mainViewController.userId = @"539897197";
Как вы можете видеть, я хочу передать userId. Для этого я создал недвижимость в MainViewController.h
@property (nonatomic, strong) NSString *userId;
Теперь в моем MainViewController.m
я хочу получить доступ к USERID. Но когда я заношу его в журнал, консоль сообщает мне, что это null
. Однако, когда я устанавливаю переменную прямо перед NSLog
, она работает, поэтому кажется, что проблема является проблемой.
Дополнительно в MainViewController.m
У меня следующая строка
@synthesize userId = _userId;
но даже когда я удалил эту строку и изменил NSLog
к NSLog(@"%@",self.userId);
произошла та же самая проблема.
Как я могу успешно передать переменные? Какой шаг я делаю неправильно?
EDIT Это, как я переключать раскладки
UIViewController *viewController = [[MainViewController alloc]init];
MainViewController *mainViewController = [[MainViewController alloc] initWithNibName:@"MainViewController" bundle:nil];
mainViewController.userId = @"539897197";
[self presentViewController:viewController animated:YES completion:NULL];
MainViewController * mainViewController = [[MainViewController Alloc] инициализации]; –
Как вы переходите от PreviewViewController к MainViewController? – Marcio
Пожалуйста, покажите как код, который вы используете для «переключения макетов». Проблема может быть очень тривиальной: вы передаете значение одному экземпляру контроллера представлений и для отображения - вы используете другой экземпляр контроллера вида (например, тот, который создает segue для вас). – Ossir