Sebastien Peek Sebastien Peek - 4 months ago 19
Objective-C Question

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?

Answer

You can set your boolean by using:

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

and read it by using this code:

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