【发布时间】:2012-12-15 05:10:03
【问题描述】:
在底部查看编辑
我正在为 iPhone 制作一个 UtilityView 应用程序,我希望能够更改 FlipsideViewController 的值。我有一个问题,每当我从 FlipsideView 切换回 MainView 时,我在 FlipsideView 中更改的文本字段的值似乎都重置为 0。在MainViewController.m 中,flipsideViewControllerDidFinish: 下
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 的标识符,但如果有,请告诉我!
编辑:有没有办法使用FlipsideViewController 中的prepareForSegue 函数将值保存为MainViewController 的可用格式?
编辑:我发现它只是在加载ViewDidLoad 时获取初始值,所以我开始使用计时器来检索值。这似乎有效,我只需要知道如何从 MainViewController 访问这些值?
【问题讨论】:
-
使用 NSUserDefault 关注我的回答 stackoverflow.com/questions/13509999/…
-
我不需要设置默认值,我已经这样做了...我需要能够保存我在背面更改的值并在主视图中使用它们
-
你在使用 pushViewController
-
然后将你的值复制到这个字符串中......然后在 viewWillAppear 中把这个字符串值放在你想要的地方
-
在FlipsideViewController中,制作_playTo的属性,如@property(retain,.)..合成后使用
标签: iphone objective-c