我正在开发一个有2个场景的应用程序。在一个场景中,我有一些UITextFields用于输入数据,还有一个set按钮用于将数据分配给变量。一旦他们点击设置按钮,第二个场景就会出现。现在,我想访问从第一个场景到这个场景的变量。我是说从第一个视图控制器到第二个视图控制器(segue)。
所以你使用两个场景。我们称它们为ViewController1和ViewController2。如果你将数据从1发送到2,那么在你的Viewcontroller1.m中添加ViewController2.h。在ViewController1。m,假设你在一个字符串中获取textfield值,NSString *str;
(确保命名segue。假设它的名字是"hello")。在viewcontroller2中初始化另一个变量NSString *str1;
。您可以通过以下方法将变量传递给ViewController2,
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([[segue identifier] isEqualToString:@"hello"])
{
NSString *str;
ViewController2 *vc2 = [segue destinationViewController];
vc2.str1 = str;
}
}
你可以通过在第一个上重写prepareForSegue来将你需要的任何信息从第一个传递到第二个。目标控制器可以通过segue.destinationViewController来引用。
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender