正在iPhone编程中传递Inter-ViewController参数。。。如何?

正在iPhone编程中传递Inter-ViewController参数。。。如何?,iphone,model-view-controller,viewcontroller,Iphone,Model View Controller,Viewcontroller,我读到:我想知道它们之间的区别是什么 [[UIApplication sharedApplicaton] delegate] 及 ? 从概念上讲,我不认为[[UIApplication sharedApplicaton]委托]不是一个全局性的东西。事实上,这减轻了现在使用脏的全局结构*时的罪恶感 我很快就要开始一个新项目了。因此,我利用这个休息时间来问一个问题:是否有最佳实践代码示例来说明如何在两个ViewController(但不是全局)之间共享数据 让我举一个例子: 这是一个游戏 有一个

我读到:我想知道它们之间的区别是什么

[[UIApplication sharedApplicaton] delegate]

?

从概念上讲,我不认为[[UIApplication sharedApplicaton]委托]不是一个全局性的东西。事实上,这减轻了现在使用脏的全局结构*时的罪恶感

我很快就要开始一个新项目了。因此,我利用这个休息时间来问一个问题:是否有最佳实践代码示例来说明如何在两个ViewController(但不是全局)之间共享数据

让我举一个例子:

  • 这是一个游戏
  • 有一个NSString*名称来存储播放器的名称
  • 有一个NSInteger分数存储玩家的当前分数
  • GameMainViewController将更新并显示分数
  • 在GameSettingViewController中,有一个用于编辑名称的文本字段和一个用于重置分数的按钮
  • GameMainViewController负责设置默认名称(如果为零),退出时保存名称和分数,启动时加载两者(如果存在)
所以

  • 我应该把“名字”和“分数”放在哪里
  • 两个ViewController如何访问和更改值

谢谢大家!

您可以在中存储名称和分数

检索项目:

NSString *name = [[NSUserDefaults standardUserDefaults]objectForKey:@"name"];
设置项目:

[[NSUserDefaults standardUserDefaults]setObject:@"Horace" forKey:@"name"];
此外,如果这是您希望在应用程序发布期间保留的数据,您可能需要将其归档到plist中

[[NSUserDefaults standardUserDefaults]setObject:@"Horace" forKey:@"name"];