在viewcontroller之间传递数据

时间:2012-07-11 17:32:47

标签: objective-c xcode uiviewcontroller parameter-passing

我有一个包含两个viewcontroller的游戏,当用户在viewcontroller中结束游戏时,他的分数传递给viewcontrollerB,检查用户是否正确分数高于高分,以及是否对用户进行高分更改正确的分数。现在,我成功地传递了我的var值,但现在我想在viewControllerA上的标签中显示高分。我试图使用@property(就像我将正确的分数传递给viewcontrollerB),但我没有成功。我该怎么做?

1 个答案:

答案 0 :(得分:1)

我会说你真正想要的是NSUserDefaults

您可以使用它来持久存储数据,跨ViewControllers甚至跨App-Restarts存储数据。 例如,您所做的是:

    [[NSUserDefaults standardUserDefaults] setInteger:highScore forKey:@"CurrentHighscore"];

存储值。 一旦你想要阅读它(可能在应用程序重新启动后,在某个viewcontroller的viewDidLoad方法中,你会这样做:

    UILabel* someUILabel;
someUILabel.text = [NSString stringWithFormat:@"Highscore: %i", [[NSUserDefaults standardUserDefaults] integerForKey:@"CurrentHighscore"]];