【问题标题】:Access member of parent UIViewController from embedded UIPageViewController从嵌入式 UIPageViewController 访问父 UIViewController 的成员
【发布时间】:2018-07-25 04:52:16
【问题描述】:

我有一个UIViewController VC 以模态方式打开。

这个视图控制器是用故事板构建的,包含一个导航栏和一个container view

容器视图嵌入了UIPageViewController

UIPageViewController 有自己的类。

我需要从这个类访问父 UIViewController 的成员(或者,在我的情况下,它是相同的,将值传递给子视图控制器)。

怎么做?

我试图打印出self.parentself.presentingViewController,但结果它们的值都是nil

我也尝试了另一件事,但它的表现不是很好:在 UIViewController 我这样引用子视图控制器:

var pVC = self.childViewControllers[0] as! PageViewController

这样我可以将值传递给 pageViewController:

pVC.myVariable = "Blue"

但我只能在viewDidAppear 中阅读它,而不是在viewDidLoad 中(而且速度很慢)。

我什至尝试在 didSet 的上下文中做类似的事情:效果更好,但我不知道这是否非常正统。

【问题讨论】:

    标签: swift uiviewcontroller uipageviewcontroller member


    【解决方案1】:

    不要在UIViewController 类中设置值或变量。制作InitializerPageViewController 并传递您要更改的另一个值。另外,根据您的需要制作一些方便的初始化程序。这是最佳实践。在班级本身做任何班级的事情。

    你能粘贴代码吗?这样我就可以给出您想要实现的确切解决方案。

    【讨论】:

    • 几乎没有代码,我用故事板做了任何事情,如上所述
    • 我想当您将 PageViewController 嵌入情节提要时已对其进行了初始化,因此,如果我理解您所说的话,如果我可以从“嵌入”视图控制器
    猜你喜欢
    • 2013-11-14
    • 1970-01-01
    • 2018-10-21
    • 1970-01-01
    • 2010-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多