Iphone 怀疑

Iphone 怀疑,iphone,twitter,nsuserdefaults,sharing,Iphone,Twitter,Nsuserdefaults,Sharing,我有一个显示twitter用户名的代码,它运行得很好,但是当我导航到另一个页面并返回时,按钮的标题用户名消失了,我知道我们必须在viewwillapper中设置一个NSUserDefault值来检查用户名是否存在。但我不知道如何处理NSUserDefault,如果有人有办法解决这个问题,请帮助我。 提前谢谢。 编辑: 这就是我的视图将显示为lokks的方式 及 这就是我的twitermethod的样子您希望以某种方式保存它的方面是正确的,NSUserDefaults可以很好地用于此。保存和读取示

我有一个显示twitter用户名的代码,它运行得很好,但是当我导航到另一个页面并返回时,按钮的标题用户名消失了,我知道我们必须在viewwillapper中设置一个NSUserDefault值来检查用户名是否存在。但我不知道如何处理NSUserDefault,如果有人有办法解决这个问题,请帮助我。 提前谢谢。 编辑:

这就是我的视图将显示为lokks的方式 及


这就是我的twitermethod的样子

您希望以某种方式保存它的方面是正确的,NSUserDefaults可以很好地用于此。保存和读取示例如下所示:

- (void) OAuthTwitterController: (SA_OAuthTwitterController *) controller authenticatedWithUsername: (NSString *) username {
    NSLog(@"Authenicated for %@", username);
    [_btnTwitter setTitle:username forState:UIControlStateNormal];
    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
    [defaults setObject:username forKey:@"kTwitterUserName"];
    [defaults synchronize];
    }

NSUserDefaults使用起来非常简单。它们有点像字典,你可以设置一个对象和一个键。因此,要想做你想做的事情,你可以使用以下方法:

NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];

// saving an NSString
[prefs setObject:@"username" forKey:@"UsersUsername"];

// reading an NSString
NSString *theString = [prefs stringForKey:@"UsersUsername"];
然后,要在默认设置中设置对象,请按如下方式设置对象/密钥对:

//This just sets up the defaults - similar to allocating a dictionary
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
 NSString *username = [defaults objectForKey:@"kTwitterUserName"];
- (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];
}
在某个时候调用此方法很重要:
[defaults synchronize]。这将显式保存默认值。因此,您最好在设置用户名密钥后立即执行此操作

然后读取保存的用户名:

[defaults setObject:username forKey:@"kTwitterUserName"];
您的oAuth方法应该如下所示:

//This just sets up the defaults - similar to allocating a dictionary
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
 NSString *username = [defaults objectForKey:@"kTwitterUserName"];
- (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];
}
因此,您的
视图将显示如下内容:

//This just sets up the defaults - similar to allocating a dictionary
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
 NSString *username = [defaults objectForKey:@"kTwitterUserName"];
- (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];
}

如果您需要任何澄清,请在评论中告诉我。

有关更多详细信息

但是上面的哪一个代码必须放在viewwillapperar方法中?每当您检索用户名时,您都会像上面所示保存用户名。然后,无论何时您想要访问它以再次读取它,即-在视图中将出现,您都可以按上面所示读取它,并为其指定NSString或UI元素文本。这看起来不错,但在注释中很难读取。那应该对你有用。但是请确保将“用户名”更改为“用户名”
,“用户名”
,“用户名”,“用户名”只是我用来向您展示它是如何工作的一个示例,对于您的具体情况,请将“用户名”用作对象。太好了。很乐意帮忙。看看我刚刚添加到我的答案中的新部分,这应该会让它更加清楚。我犯了一个小语法错误。我刚刚发布了一个正确的版本,用户名是我在
视图中声明的一个新变量,它将出现
,因此您可以在代码中使用用户名,或者设置按钮标题或其他任何内容。这是一个全新的变量。