Этот конкретный случай может быть немного легче, чем делегаты.
Из того, что я вижу, вы пытаетесь передать учетные данные для входа (имя/логин/пароль/что-то). Я бы использовал две вещи в зависимости от фактического вопроса здесь.
Либо NSUserDefaults
или -performSegueWithIdentifier:
NSUserDefaults является файл, который загружается в каждом приложении, которое вы можете прочитать и отредактировать, просто используя следующие команды:
Установка переменной:
NSString *aName;
[[NSUserDefaults standardUserDefaults]setObject:aName forKey:@"userName"];
Получение переменной:
NSString *aName = [[NSUserDefaults standardUserDefaults]objectForKey:@"userName"];
Внимание: вы можете сохранить следующие объекты: NSDictionary
, NSArray
, NSString
, NSNumber
, NSData
и, возможно, пара, которую я забываю, но кто-то может ее отредактировать, если я это сделаю.
Обратите внимание, что этот файл загружается при каждом запуске, поэтому вы не хотите использовать его в качестве базы данных, но большая часть небольшого хранилища проста в использовании, например, для имени пользователя, настроек/настроек и тому подобного ,
Другой способ использует performsegue
между двумя контроллерами, но для этого требуется storyboards
.
Перетащите сегг между двумя контроллерами, назовите его (например) fromLoginToHome
. Я предполагаю, что поток идет от контроллера входа в домашний контроллер.
при перемещении между двумя точками зрения (когда пользователь нажимает «Вход», например), вызовите этот метод
[self performSegueWithidentifier:@"fromLoginToHome" sender:self];
Тогда вам нужно реализовать этот метод, который, как правило, там, но в блок комментариев (это всегда так, когда вы создаете свой Vc)
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if([segue.identifier isEqualToString:@"fromLoginToHome"]){
HomeViewController *vc = (HomeViewController*)segue.destinationViewController;
vc.myName = _myName;
}
}
Вы хотели получить доступ к переменной из LoginViewController? – Gati
Предоставьте больше информации о том, чего вы пытаетесь достичь, и о том, что вы сделали. –
Я одобрил редактирование по ошибке, пожалуйста, не одобряйте его, так как заголовок заблокирован. – Maroun