开发者社区 问答 正文

检测用户名是否存在NSUserDefaults中?

需要检测NSUserDefaults?是否有对应的用户名,如果没有,就加载一个模式视图控制器。

问题是运行之后即使用户名是nil,检测的结果还是存在。

//Check if the login data exists
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
    if ([defaults objectForKey:@"username"] != nil) {
        //Load Login View if no username is found
        NSLog(@"No username found");
        LoginViewController *loginView = [[LoginViewController alloc] init];
        [self presentViewController:loginView animated:YES completion:nil];
    }
    else {
        NSString *savedUsername = [defaults stringForKey:@"username"];
        NSLog(@"Username found: %@", savedUsername);
    }

NSLog中一直得到这个: Username found: (null)

展开
收起
爵霸 2016-03-23 10:05:46 2012 分享 版权
1 条回答
写回答
取消 提交回答
  • 逻辑写反了
    `
    if ([defaults objectForKey:@"username"] != nil)
    `

    改成
    `
    if ([defaults objectForKey:@"username"] == nil)
    `

    2019-07-17 19:10:22
    赞同 展开评论
问答地址: