ios - 在两个 View 之间共享一个 NSString

标签 ios xcode ios4

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

这是我创建字符串的 View Controller

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

这是我尝试在不同的 View Controller 中显示字符串的地方

- (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 还处理 intBOOLNSArray 等。查看 the documentation或谷歌周围的例子。

关于ios - 在两个 View 之间共享一个 NSString,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6497211/

相关文章:

ios4 - 通过 Facebook IOS SDK 发布签到

iphone - 如何将启动屏幕设置为第二个选项卡

ios - 解析两个 JSON 对象

ios - 动态(通用)快速继承自 <T>

swift - 每次编译测试目标时运行单元测试

xcode - 我如何在 Xcode for iOS 中输出两个触摸点之间的距离?

iphone - 如何杀死/停止后台线程?

ios - Xcode复选框在哪里 "Translates Autoresizing Mask Into Constraints"

ios - 来自肖像 UIImage 的 CGImage

ios - 应用程序传输安全 (ATS) 和应用程序提交