iphoneobjective-cbooleannsuserdefaultsmodalviewcontroller

iOS: Use a boolean in NSUserDefaults


When the rootViewController of my application is loaded, I want to be able to check whether or not the users login credentials have been saved to NSUserDefaults.

Basically, when the user loads the application and he/she doesn't have her login credentials saved, a modalAlertView will be pushed and the user will be able to save their credentials appropriately. This saves those UITextField strings to a respective NSUserDefault object. However, is it possible, that when this saving is done, I can create an NSUserDefault object which is a boolean and change the value to a yes?

Meaning that the boolean is already set to no, and when the user saves their login credentials, it also changes the boolean to a yes?


Solution

  • You can set your boolean by using:

    [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"logged_in"];
    [[NSUserDefaults standardUserDefaults] synchronize];
    

    and read it by using this code:

    if(![[NSUserDefaults standardUserDefaults] boolForKey:@"logged_in"]) {
        [self displayLogin];
    } else {
        [self displayMainScreen];
    }