2 developerwab developerWab 于 2013.05.07 15:37 提问

检测用户名是否存在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)

2个回答

zhanglei5415
zhanglei5415   Rxr 2013.05.07 16:02
已采纳

逻辑写反了

if ([defaults objectForKey:@"username"] != nil) 

改成

if ([defaults objectForKey:@"username"] == nil) 
Kill_it
Kill_it 恩恩,确实是这样
接近 5 年之前 回复
u010611766
u010611766   2013.05.08 09:43

如上面所说的逻辑写反了

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!