0

见底部编辑

我正在UtilityView为 iPhone 制作一个应用程序,我希望能够从FlipsideViewController. 我有一个问题,每当我从 FlipsideView 切换回 MainView 时,我在 FlipsideView 中更改的文本字段的值似乎都重置为 0 MainViewController.mflipsideViewControllerDidFinish:

playToInt = [controller.playTo.text intValue];

computerMoveSpeed = [controller.aiSpeed.text intValue];

文本字段“playTo”与整数“playToInt”坐标,文本字段“aiSpeed”与整数“computerMoveSpeed”坐标。我认为这应该保存值,即使 ViewDidLoad 再次运行,但它们似乎都被重置为 0。

if (playToInt != 10 || computerMoveSpeed != 3)   
{
  playBool = true;
} 
else 
{
  playBool = false;
}

我知道布尔值正在工作,因为我可以用它更改整数的值,但它们总是默认为 0。感谢任何帮助。提前致谢。

注意:我已经咨询了上一个问题“将 UISegmentedControl 值从实用程序应用程序中的 FlipSideViewController 传递到主视图控制器……”这对我不起作用……我有太多可能的值无法使用索引或开关。

编辑:我正在尝试一些我认为非常接近工作的东西......我觉得它只是语法不好或其他东西......我在 MainViewController.m 中有:

computerMoveSpeed = [FlipsideViewController.aiSpeed.text intValue];

playToInt = [FlipsideViewController.playTo.text];

编辑:我有一些与上一个相似的东西,但我认为它会有更好的机会在一些帮助下工作......

FlipsideViewController.m我有

_playToNumber = [_playTo.text intValue];

并且在MainViewController.m

playToInt = [controller.playToNumber];

非常感谢任何帮助,但作为一些附加信息,在它的字符串上MainViewController它说它需要playToNumber变量上的标识符,但它被声明为int......我不知道是否有ints 的标识符,但如果有是,请告诉我!

编辑:有什么方法可以将值保存为可用的格式,MainViewController以便prepareForSegueFlipsideViewController?

编辑:我发现它只是在加载时获取初始值ViewDidLoad,所以我开始使用计时器来检索值。这似乎有效,我只需要知道如何从MainViewController

4

2 回答 2

0

使用委托将值发送回MainViewController. 请参阅本教程以了解如何使用委托。

于 2012-12-15T05:32:46.417 回答
0

你有很多方法可以完成这项任务,

1.NSUserDefault _

关注ma回答链接

2.使用Getters, setters, property

关注ma回答 链接

编辑

如果你想要int或者NSInteger不需要保留
就做

@property(nonatomic) NSInteger YourIntValue;

_playToNumber = [_playTo.text intValue];

MainViewController *MVC = [[MainViewController alloc] init];
MVC.playToInt=_playToNumber;
[self.navigationController pushViewController:MVC animated:YES];
于 2012-12-20T07:14:29.510 回答