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

时间:2012-12-31 20:06:39

标签: iphone ios

我正在开发一个有2个场景的应用程序。在一个场景中,我有一些UITextFields用于输入数据,还有一个设置按钮用于将数据分配给变量。一旦他们单击设置按钮,就会出现第二个场景。现在,我想访问从第一个场景到此场景的变量。我的意思是从第一个视图控制器到第二个视图控制器(segue)。

2 个答案:

答案 0 :(得分:2)

所以你正在使用两个场景。让我们称之为ViewController1和ViewController2。如果要将数据从1发送到2,则在Viewcontroller1.m中添加ViewController2.h。在ViewController1.m中,假设您在字符串中获取文本字段值NSString *str;(确保命名为segue。假设其名称为“hello”)。在ViewContoller2中初始化另一个名为NSString *str1;的变量。您可以通过以下方法将变量传递给ViewController2,

   - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
    {
if ([[segue identifier] isEqualToString:@"hello"])
{
    NSString *str;
    ViewController2 *vc2 = [segue destinationViewController];
    vc2.str1 = str;
}
    }

答案 1 :(得分:0)

您可以通过首先覆盖prepareForSegue,将您需要的任何信息从第一个传递到第二个。目标控制器可以通过segue.destinationViewController引用。

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender