我需要在我的应用程序中的两个 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
还处理 int
、BOOL
、NSArray
等。查看 the documentation或谷歌周围的例子。
关于ios - 在两个 View 之间共享一个 NSString,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6497211/