Ios:如何将数据传递给 UISplitViewController?

Posted

技术标签:

【中文标题】Ios:如何将数据传递给 UISplitViewController?【英文标题】:Ios: How to pass data to a UISplitViewController? 【发布时间】:2013-12-03 17:29:04 【问题描述】:

所以我有一个简单的设置,其中有 Single View 应用程序,当按下按钮时,它会更改根视图控制器以显示 SplitViewController。

下面的代码说明如何做到这一点:

 static NSString *TagForSplitViewController= @"SetupViewController";  


    UIViewController *controller = [self.storyboard instantiateViewControllerWithIdentifier:TagForSplitViewController];
    AppDelegate *app = (AppDelegate *)[[UIApplication sharedApplication] delegate];

    UIViewController *currentController = app.window.rootViewController;
    app.window.rootViewController = controller;
    app.window.rootViewController = currentController;

    [UIView transitionWithView:self.navigationController.view.window
                      duration:0.75
                       options:UIViewAnimationOptionTransitionFlipFromRight
                    animations:^
                        app.window.rootViewController = controller;
                    
                    completion:nil];

我现在想将信息(例如字符串)从我的单个视图传递到拆分视图控制器,以便它可以显示文本。

但是我似乎无法找到引用 SplitViewController 实例的方法(例如 prepareBeforeSegue 的方法)。

那么如何获取我的 SplitViewController 实例的引用并设置一些数据呢?

我应该以某种方式设置一个委托接口来执行此操作吗?

谢谢!!

【问题讨论】:

【参考方案1】:
#import "singleView.h"

在您的 SplitViewController.h 中。然后你可以在你的 singleview.h 中引用字符串或任何东西。 但请记住,您应该在 singleview.h 中声明您在两个视图中使用的那些变量

【讨论】:

(还没有尝试过)但这听起来像是静态字段唯一可行的?实例字段呢?我仍然需要获得或传递 singleView 实例才能访问这些字段。 在你的项目中不能用静态字段代替实例字段吗?因为您不能传递在方法中创建和更改的变量。只有您可以传递您在接口中创建的变量并在任何地方(内部方法)进行更改。

以上是关于Ios:如何将数据传递给 UISplitViewController?的主要内容,如果未能解决你的问题,请参考以下文章

在准备 segue 时,如何将数据传递给子 UIViewController?

使用 Storyboard Segue iOS 将数据传递给视图控制器

iOS Swift:查询完成后将数据传递给其他 VC 的最佳方式

如何将数据传递给BottomSheetDialogFragment [重复]

如何通过数组将数据传递给表格视图?

将数据传递给父场景的委托与展开 Segue