Недавно я застрял в проблеме, так что я не могу перейти к следующей части кодирования. Существует два контроллера вида (скажем, first.m и second.m), и я хотел бы передавать данные параметров от одного к другому контроллеру представления без использования раскадровки. Но сложная часть для меня - это второй контроллер представления, который уже был запущен в файле AppDelegate.m.Пропустить данные с одного viewcontroller на существующий viewcontroller программно
я могу передать данные, если я инициировал второй контроллер представления в первом контроллере представления с некоторым импортирующей заголовочного файла, например ..
@import "Second.h"
Second *secondView = [[Second alloc] initWithNibName:@"SecondNib" bundle:nil];
secondView.someStringValue = @"passThisString";
Однако, это кодирование делает новый второй контроллер представления, который не то, что я хочу. Я нашел что-то вроде
myAppDelegate *appDelegate = (myAppDelegate *)[[UIApplication sharedApplication] delegate];
для подключения к файлу приложения AppDelegate.m. Но через несколько дней, борясь с этим, мой мозг становится затемненным. Пожалуйста, дайте мне какие-либо советы. Есть ли способ передать данные в существующий контроллер просмотра без использования раскадровки? или любым способом через контроллер AppDelegate для второго представления. Любая помощь будет оценена
Итак, сначала вы загружаете контроллер второго вида, а затем загружаете контроллер первого вида. это? – Ganapathy
Нет необходимости использовать AppDelegate или NSUserDefaults. Просто создайте метод init для вашего второго viewController. как initWithNibName, но этот метод примет ваш someStringValue. –
@Ganapathy Я инициировал два контроллера вида в файле AppDelegate.m. В то время как я работал в первом. Мне нужно было передать некоторые данные на second.m. – jazzed28