在底部看到编辑
我正在为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.任何帮助都是值得赞赏的。提前谢谢。
注意:我已经查阅了上一个问题'将实用程序中的FlipSideViewController中的UISegmentedControl值传递给mainviewcontroller ...',这对我不起作用...我有太多可能的值来使用索引或开关
编辑:我正在尝试一些我认为非常接近工作的东西...我觉得它只是有错误的语法或其他东西......我在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
...我不知道int
是否有标识符,但如果有,请告诉我!
编辑:有没有办法使用MainViewController
中的prepareForSegue
函数以FlipsideViewController
的可用格式保存值?
ViewDidLoad
时得到初始值,所以我开始使用计时器来检索值。这似乎有效,我只需要知道如何从MainViewController
?访问这些值
答案 0 :(得分:0)
使用委托将值发送回MainViewController
。请参阅this tutorial以了解如何使用代理。
答案 1 :(得分:0)
你有很多方法可以完成这项任务,
按照回答Link
2。使用Getters, setters, property
按照回答Link
修改强>
如果您需要int
或NSInteger
,则无需保留
只是做
@property(nonatomic) NSInteger YourIntValue;
和
_playToNumber = [_playTo.text intValue];
MainViewController *MVC = [[MainViewController alloc] init];
MVC.playToInt=_playToNumber;
[self.navigationController pushViewController:MVC animated:YES];