NSUserDefaults очень прост в работе. Они как словарь, вы устанавливаете объект и ключ. Таким образом, чтобы сделать то, что вы пытаетесь сделать, вы можете использовать что-то вроде следующего:
//This just sets up the defaults - similar to allocating a dictionary
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
Затем, чтобы установить объект по умолчанию, вы устанавливаете пару объект / ключ следующим образом:
[defaults setObject:username forKey:@"kTwitterUserName"];
Важно вызвать этот метод в какой-то момент: [defaults synchronize];
. Это явно сохраняет настройки по умолчанию. Так что вы можете сделать это сразу же после установки ключа имени пользователя.
Затем прочитать сохраненное имя пользователя:
NSString *username = [defaults objectForKey:@"kTwitterUserName"];
Ваш метод oAuth должен выглядеть следующим образом:
- (void) OAuthTwitterController: (SA_OAuthTwitterController *) controller authenticatedWithUsername: (NSString *) username {
//Any thing else you want to do - NSLogs, etc.
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:username forKey:@"kTwitterUserName"];
[defaults synchronize];
}
Так что ваш viewWillAppear
будет выглядеть примерно так:
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
//Sets up the NSUserDefaults
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
//Checks if there is a saved User Name
if([defaults objectForKey:@"kTwitterUserName"]) {
NSString *username = [defaults objectForKey:@"kTwitterUserName"];
} else
//Do something else because there is no saved username
NSLog(@"no username saved");
}
Дайте мне знать в комментарии, если вам нужны какие-либо разъяснения.