我是编程的新手,我有以下问题我希望有人可以提供帮助。我有一个使用loggin访问主菜单的应用程序。我希望应用程序存储用户名(从登录屏幕)并在程序中使用它。如果用户已经登录,则无需再次登录。我希望应用程序检查用户是否已登录启动并直接进入菜单菜单。
我的问题是,如果他们按下登录按钮,他们直接进入主菜单而不输入登录详细信息。如果他们输入了他们的名字,我可以在应用程序中使用他们的名字,直到重新启动应用程序并且信息消失。
好的,这是我的新代码,但我仍然遇到同样的问题。
-(IBAction)LogInButton:(id)sender {
NSString *tempstr = [[NSUserDefaults standardUserDefaults] objectForKey:@"username"];
if (tempstr.length == 0) {
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
[prefs setObject:name.text forKey:@"username"];
[prefs synchronize];
[self showCorrectController];
ClubFindViewController *logView = [[ClubFindViewController alloc] initWithNibName:@"ClubFindViewController" bundle:nil];
[self presentModalViewController:logView animated:YES];
}
else {
MainMenuView *mainView = [[MainMenuView alloc] initWithNibName:@"MainMenuView" bundle:nil];
[self presentModalViewController:mainView animated:YES];
}
}
-(void)viewDidLoad {
[super viewDidLoad];
[self showCorrectController];
}
-(void)showCorrectController {
UIViewController *viewController = nil;
if ([self isLoggedIn]) {
viewController = [[MainMenuView alloc] init];
}
else {
viewController = [[ClubFindViewController alloc] init];
}
[self presentModalViewController:viewController animated:YES];
[viewController release];
viewController = nil;
}
-(BOOL)isLoggedIn {
return ![[NSUserDefaults standardUserDefaults] objectForKey:@"username"];
}
任何帮助都会得到很大的帮助。感谢。
答案 0 :(得分:0)
在-(IBAction)LogInButton:(id)sender {
中您应该检查他们是否输入了文本,如果没有,请再次提示。
在您的情况下,如果用户在没有输入名称的情况下按下“登录”,则“用户名”值将为空字符串,登录将会通过。