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