gpt4 book ai didi

ios - 我的 viewcontroller 不属于 viewdidLoad 方法

转载 作者:行者123 更新时间:2023-11-28 07:26:47 27 4
gpt4 key购买 nike

我有一个问题,我正在学习 swift 编程,我已经学会了毫无问题地处理表格和集合,包括使用 alamofire 的 cosumo 服务,但我遇到了一个问题,我在个性化表格 View 中有一个集合单元格,设法在集合中执行事件单击,我使用我需要的协议(protocol)传递信息将其传达给 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。我需要知道我做错了什么,或者这就是生命周期。

这是我的 Storyboard。

enter image description here

最佳答案

简答

我需要知道我做错了什么

没有

或者这就是生命周期。

解释

根据 Apple 官方文档 viewdidload

This method is called after the view controller has loaded its view hierarchy into memory.

在您的情况下,为了完全加载 TabsDetailProductViewControllerview hierarchy,必须首先加载 DetailProductContentViewController,因为它在TabsDetailProductViewController 的 View 层次结构作为 containment

的结果

因此 DetailProductContentViewControllerviewdidload 将在 TabsDetailProductViewControllerviewdidload 之前被调用

关于ios - 我的 viewcontroller 不属于 viewdidLoad 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56369276/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com