我有一个问题,我正在学习 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。
最佳答案
简答
我需要知道我做错了什么
?
没有
或者这就是生命周期。
是
解释
根据 Apple 官方文档 viewdidload
This method is called after the view controller has loaded its view hierarchy into memory.
在您的情况下,为了完全加载 TabsDetailProductViewController
的 view hierarchy
,必须首先加载 DetailProductContentViewController
,因为它在TabsDetailProductViewController
的 View 层次结构作为 containment
因此 DetailProductContentViewController
的 viewdidload
将在 TabsDetailProductViewController
的 viewdidload
之前被调用
关于ios - 我的 viewcontroller 不属于 viewdidLoad 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56369276/