我正在开发一个包含登录/身份验证功能的iOS应用。我在第一个视图控制器中放置了一个条形按钮项目,并将一个push segue推送到登录视图控制器,在那里我使用此代码实现了IBAction
User *userObj = [[User alloc] init];
NSInteger username = [[self.telnumberTextField text] integerValue];
NSInteger password = [[self.pwdTextField text] integerValue];
[userObj loginWithUsername:username andPassword:password];
NSUserDefaults *dUser = [NSUserDefaults standardUserDefaults];
[dUser setInteger:userObj.userId forKey:@"userID"];
[dUser synchronize];
if ( userObj.userId == 0 ) {
UIAlertView *message = [[UIAlertView alloc] initWithTitle:@"Erreur"
message:@"Numero de telephone ou mot de passe incorrect"
delegate:self
cancelButtonTitle:@"OK"
otherButtonTitles: nil];
[message show];
}
else
[self.navigationController popToRootViewControllerAnimated:YES];
我的问题是如何隐藏/禁用登录项栏按钮(在popToRootViewController之后)并将另一个用于用户注销?在哪里添加检查是否有登录用户的代码,以显示登录或注销按钮?
(我查看了其他一些问题:login/logout connection和managing redirection,但我的问题似乎有所不同)。 有什么帮助吗?感谢。
答案 0 :(得分:0)
父视图控制器应该读出您在成功登录后设置的一些标志,并且应该在viewWillAppear:方法中相应地放置一个不同的UIBarButtonItem。
正如我所看到的,这个标志可能是userObj.userID,它应该是!= 0,作为显示已成功登录的标志。