当应用程序再次运行时(如果用户没有点击退出按钮),我想留在注销页面上

时间:2017-03-07 13:19:21

标签: objective-c

以下是我的代码,直到登录过程

#import "ViewController.h"
#import "LogOutViewController.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];

    NSString *userid = [defaults objectForKey:@"uid"];
    NSString *password = [defaults objectForKey:@"pswrd"];

   _lbluserid.text = userid;
   _lblpswrd.text = password;
}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

- (IBAction)btnsignin:(id)sender
{
    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];

    [defaults setObject:_lbluserid.text forKey:@"uid"];
    [defaults setObject: _lblpswrd.text forKey:@"pswrd"];

    [defaults synchronize];
    NSLog(@"Credentials are saved");

    LogOutViewController *controller = [self.storyboard instantiateViewControllerWithIdentifier:@"logoutvc"];
    controller.getUserid = _lbluserid.text;
    [self.navigationController pushViewController:controller animated:YES];
}
@end

我有另一个视图,通过登录显示,在该视图上我有“注销”按钮,现在我想要的是如果用户没有点击注销按钮,则同一页面(注销页面)将当我再次运行我的应用程序时显示。

请帮帮我..

3 个答案:

答案 0 :(得分:0)

您可以尝试这样

首先在didFinishLaunchingWithOptions方法中打开AppDelegate类。

使用NSUserDefault检查用户是否存在。如果存在用户,则可以显示LogOutViewController

答案 1 :(得分:0)

使用钥匙串存储用户凭据。在viewCOntroller类中,在viewDidLoad中检查是否存在用户凭据。如果存在,则调用:

 LogOutViewController *controller = [self.storyboard instantiateViewControllerWithIdentifier:@"logoutvc"];
controller.getUserid = //get user id from keychain;
[self.navigationController pushViewController:controller animated:YES];

答案 2 :(得分:0)

尝试将代码修改为。

#import "ViewController.h"
#import "LogOutViewController.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];

    NSString *userid = [defaults objectForKey:@"uid"];
    NSString *password = [defaults objectForKey:@"pswrd"];

    _lbluserid.text = userid;
    _lblpswrd.text = password;

    if([defaults boolForKey:@"logedIn"]){
         [self moveToLogoutViewController];
    }
}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

- (IBAction)btnsignin:(id)sender
{
    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];

    [defaults setObject:_lbluserid.text forKey:@"uid"];
    [defaults setObject: _lblpswrd.text forKey:@"pswrd"];
    [defaults setBool: YES forKey:@"logedIn"];

    [defaults synchronize];
    NSLog(@"Credentials are saved");
    [self moveToLogoutViewController];

}
- (void) moveToLogoutViewController{
    LogOutViewController *controller = [self.storyboard instantiateViewControllerWithIdentifier:@"logoutvc"];
    controller.getUserid = _lbluserid.text;
    [self.navigationController pushViewController:controller animated:YES];
}
@end