在两个视图之间共享一个NSString

我需要在我的应用程序中的两个视图之间共享一个string。 当用户结束游戏时,得分被转换成一个string。 然后,我需要将该string转移到不同的视图控制器中,以显示分数。 我有一个标签设置和所有,但视图不能识别string,即使我正在导入从中创buildstring的头文件。 任何帮助将是伟大的,谢谢。

这是我创buildstring的视图控制器

NSString *scoreString = [NSString stringWithFormat:@"%d", score]; 

这是我尝试在不同的视图控制器中显示string的地方

 - (void)viewDidLoad { self.scoreString = score.text; [super viewDidLoad]; } 

对于分数和类似的数据,你可能想要使用NSUserDefaults 。 这些可以在任何时候从任何UIViewController访问。 例如,您可以实现与这些类似的方法来保存和检索数据:

 -(void)saveToUserDefaults:(NSString*)myString { NSUserDefaults *standardUserDefaults = [NSUserDefaults standardUserDefaults]; if (standardUserDefaults) { [standardUserDefaults setObject:myString forKey:@"Score"]; [standardUserDefaults synchronize]; } } -(NSString*)retrieveFromUserDefaults { NSUserDefaults *standardUserDefaults = [NSUserDefaults standardUserDefaults]; NSString *val = nil; if (standardUserDefaults) val = [standardUserDefaults objectForKey:@"Score"]; return val; } 

NSUserDefaults还可以处理int s, BOOL s, NSArray s等等。查看文档或者谷歌周围的例子。

你可以使用委托或NSUserDefaults

之前被问过类似的问题:

将variables传递给不同的视图控制器

如何在视图控制器之间传递variables?

编辑

 [[NSUserDefaults standardUserDefaults] setObject:@"STRING HERE" forKey:@"MyKey"]; 

并检索

 [[NSUserDefaults standardUserDefaults] objectForKey:@"MyKey"];