ios - 我的 viewcontroller 不属于 viewdidLoad 方法
问题描述
我有一个问题,我正在学习 swift 编程,我已经学会毫无问题地处理表格和集合,包括使用 alamofire 服务的 cosumo,但是我遇到了一个问题,我在个性化的表格视图单元格中有一个集合,设法在集合内执行事件单击,并使用我需要的协议传递信息将它传达给 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 的 viewLoaded。我需要知道我做错了什么,或者这就是生命周期。
这是我的故事板。
解决方案
简短的回答
I need to know what I'm doing wrong
?
没有什么
or maybe this is the life cycle.
是的
解释
在视图控制器将其视图层次结构加载到内存后调用此方法。
view hierarchy
在您的情况下TabsDetailProductViewController
,为了完全加载DetailProductContentViewController
必须首先加载,因为它在视图层次结构TabsDetailProductViewController
中containment
因此viewdidload
ofDetailProductContentViewController
将在 TabsDetailProductViewController
's之前被调用viewdidload