1

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

4

2 回答 2

2

所以你正在使用两个场景。让我们称它们为 ViewController1 和 ViewController2。如果您将数据从一发送到二,则在您的 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;
}
    }
于 2012-12-31T20:44:28.607 回答
0

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

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
于 2012-12-31T20:12:26.110 回答