如何在Storyboard应用程序中从一个场景访问另一个场景的变量



我正在开发一个有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

相关内容

最新更新