У меня есть контроллер навигации и 2 контроллера просмотров. Первый контроллер просмотра связан с UIViewController с именем ViewController. Второй подключен к UIViewController с именем BookVC. BookVC имеет UITextField и соединен через выход:Подключение данных в MVC
@property (strong, nonatomic) IBOutlet UITextField *textFieldContent;
Соединение осуществляется с помощью кнопки, которая использует SEGUE. Я хочу передать некоторые данные между ними и я использую следующий код, который терпит неудачу:
-(void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
BookVC* nextPage = [[BookVC alloc] init];
nextPage = [segue destinationViewController];
[email protected]"Some content";
}
Как я должен передавать данные между контроллерами View?
Я думаю, что я почти там. Я думаю, что файл отправки должен иметь: BookVC * nextPage = [segue destinationViewController]; UITextField * tf; tf.text = @ "Некоторое содержание"; [nextPage setTextFieldContent: tf]; Однако я не понимаю оператор viewDidLoad. \t [nextPage setTextFieldContent: tf]; – SimonRH
Первый контроллер не знает о текстовом поле второго контроллера. Он просто устанавливает строку, которая в конечном итоге будет помещена в 'textFieldContent' BookVC'. Метод '-viewDidLoad'' BookVC' вызывается автоматически при его загрузке. В этот момент вы знаете, что существует метка textFieldContent, и ее текст может быть установлен, поэтому вы делаете это там. Ознакомьтесь с документами 'UIViewController' и методом' -viewDidLoad'. http://developer.apple.com/library/ios/#documentation/uikit/reference/UIViewController_Class/Reference/Reference.html – macserv
Игнорировать последний комментарий. Ваше объяснение совершенное. Спасибо! – SimonRH