Судя по вашему описанию, вы хотите
- Вкл.
viewDidLoad
проверьте, вошел ли пользователь в систему - Если ДА, покажите
MainMenu
- Если НЕТ, показать
LogInView
Код может выглядеть следующим образом
- (void)viewDidLoad
{
[super viewDidLoad];
[self showCorrectController];
}
Метод показа правильного контроллера может выглядеть следующим образом
- (void)showCorrectController
{
UIViewController *viewController = nil;
if ([self isLoggedIn]) {
viewController = [[MainMenuView alloc] init];
} else {
viewController = [[LogInView alloc] init];
}
[self presentModalViewController:viewController animated:YES];
[viewController release]; viewController = nil;
}
Вспомогательный метод называется isLoggedIn
, который выглядит следующим образом
- (BOOL)isLoggedIn
{
// The double negation just means we get a boolean response
return !![[NSUserDefaults standardUserDefaults] objectForKey:@"UserName"];
}
Теперь измените ваш оригинальный метод на что-то вроде этого
-(IBAction)LogInButton:(id)sender
{
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
[prefs setObject:Name.text forKey:@"UserName"];
[prefs synchronize];
[self showCorrectController];
}
Есть довольноНесколько вещей, которые можно было бы сделать, чтобы привести это в порядок, но это должно послужить началом для вас.
Слово предостережения в отношении названий вещей.Соглашение состоит в том, чтобы начинать имена методов и переменных со строчных букв.Классы и константы начинаются с заглавных букв.