【问题标题】:Initialising parentView of parentView issue初始化 parentView 问题的 parentView
【发布时间】:2016-03-08 01:44:37
【问题描述】:

我有一个viewController 和containerView andUIPageViewController

我正在调用editingProfile 方法,但它不会传递到parentNewCarRequestVC。但是一旦我做了一个动作,它就会传递给 parentNewCarRequestVC。那么请在屏幕启动后如何初始化 parentView。

如果我没有很好地解释我的问题,我很抱歉。

override func viewDidAppear(animated: Bool) {
    editingProfile()
}

func editingProfile(){
    if let parentVC = self.parentViewController as? UIPageViewController{
        if let parentNewCarRequestVC = parentVC.parentViewController as? NewCarRequestViewController{

            print("DONE")
        }
    }
}

【问题讨论】:

  • 尝试在override func viewDidLoad()中调用你的方法。
  • 我在 viewDidLoad 中调用了该方法,但它不起作用:( @AbhishekSharma

标签: ios swift parentviewcontroller


【解决方案1】:

你的假设一定是错误的。这样做:

func editingProfile(){

   print(self.parentViewController)
   print(self.parentViewController.parentViewController)

    if let parentVC = self.parentViewController as? UIPageViewController{
        if let parentNewCarRequestVC = parentVC.parentViewController as? NewCarRequestViewController{

        print("DONE")
    }
}

}

向我们展示两个打印的调试器输出。

【讨论】:

  • 输出:1st: Optional() 2nd: nil
  • 你能告诉我为什么一旦我采取任何行动就会进入吗?
  • 所以你的 parent 的 parent 是 nil。这很简单。如果它是“nil”,您的代码将永远不会完成。
  • 是的,我明白了。那么有什么解决办法吗?
【解决方案2】:

调用你的方法id viewDidLoad。如果你想调用 viewWillAppear 然后在 viewDidLoad 和

parentNewCarRequestVC = parentVC.parentViewController 为? viewWillAppear 中的 NewCarRequestViewController。

【讨论】:

  • 很抱歉,如何在 viewDidLoad 中初始化?
猜你喜欢
  • 1970-01-01
  • 2018-05-25
  • 2013-12-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-23
相关资源
最近更新 更多