我需要在我的应用程序中的两个视图之间共享一个字符串.当用户结束游戏时,分数被转换为字符串.然后,我需要将该字符串传输到另一个视图控制器,在那里我显示分数.我有一个标签设置,即使我正在导入创建字符串的头文件,但除了视图之外的所有内容都无法识别字符串.任何帮助都会很棒,谢谢.
这是我的视图控制器,其中创建了字符串
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)
对于分数和类似数据,您可能想要使用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等.查看文档或谷歌周围的示例.
| 归档时间: |
|
| 查看次数: |
1522 次 |
| 最近记录: |