在两个视图之间共享NSString

Mac*_*00b 0 xcode ios4 ios

我需要在我的应用程序中的两个视图之间共享一个字符串.当用户结束游戏时,分数被转换为字符串.然后,我需要将该字符串传输到另一个视图控制器,在那里我显示分数.我有一个标签设置,即使我正在导入创建字符串的头文件,但除了视图之外的所有内容都无法识别字符串.任何帮助都会很棒,谢谢.

这是我的视图控制器,其中创建了字符串

NSString *scoreString = [NSString stringWithFormat:@"%d", score];
Run Code Online (Sandbox Code Playgroud)

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

- (void)viewDidLoad {
    self.scoreString = score.text;

    [super viewDidLoad];
}
Run Code Online (Sandbox Code Playgroud)

Pen*_*One 5

对于分数和类似数据,您可能想要使用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;
}
Run Code Online (Sandbox Code Playgroud)

NSUserDefaults还处理ints,BOOLs,NSArrays等.查看文档或谷歌周围的示例.