我的viewcontroller不属于viewdidLoad方法

时间:2019-05-29 22:20:04

标签: ios swift uiviewcontroller uinavigationcontroller uistoryboardsegue

我有一个问题,我正在快速学习编程,我学会了无问题地处理表和集合,包括使用alamofire进行服务的总和,但是我遇到了一个问题,我在个性化表视图中有一个集合单元格,设法在集合内单击该事件,然后使用传递所需信息的协议将其传达给ViewController,但是当我加载以下ViewController(TabsDetailProductViewController)时,它不会属于viewDidLoad的方法不跳转到与DetailProductContentViewController连接的已添加的ContentView。也就是说,据我在使用该方法时的理解。

func ItemClick(position: Int, model: Product) {
        let Storyboard = UIStoryboard(name: "Main", bundle: nil)
        let tabsViewController = Storyboard.instantiateViewController(withIdentifier: "TabsDetailProductViewController") as! TabsDetailProductViewController
        tabsViewController.productModel = model
        self.navigationController?.pushViewController(tabsViewController, animated: true)
    }

我必须落入TabsDetailProductViewController的viewLoaded中,但它跳转到DetailProductContentViewController的viewLoaded中,然后返回到TabsDetailProductViewController的viewload中。我需要知道我在做错什么,或者这就是生命周期。

这是我的故事板。

enter image description here

1 个答案:

答案 0 :(得分:0)

简短答案

I need to know what I'm doing wrong

没事

or maybe this is the life cycle.

说明

根据viewdidload的Apple官方文档

  

在视图控制器将其视图层次结构加载到内存之后,将调用此方法。

在您的情况下,为了完全加载view hierarchy的{​​{1}},必须首先加载TabsDetailProductViewController,因为它在DetailProductContentViewController的视图层次结构中TabsDetailProductViewController

的结果

因此containment中的viewdidload将在DetailProductContentViewController的{​​{1}}之前被调用