【问题标题】:How to access variables from one scene to another scene in Storyboard app?如何在 Storyboard 应用程序中访问从一个场景到另一个场景的变量?
【发布时间】:2012-12-31 20:06:38
【问题描述】:

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

【问题讨论】:

  • 请参阅prepareForSegue,它旨在将信息从一个场景传递到另一个场景。如果你用谷歌搜索例子,你会得到大量的点击。或者,如果您在 StackOverflow 上搜索 prepareForSegue。这是一个很好的领域,您应该在发布问题之前进行搜索。

标签: iphone ios


【解决方案1】:

所以你使用了两个场景。让我们称它们为 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;
}
    }

【讨论】:

  • 像魅力一样工作。谢谢!
【解决方案2】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多