ios - 我的 viewcontroller 不属于 viewdidLoad 方法

标签 ios swift uiviewcontroller uinavigationcontroller uistoryboardsegue

我有一个问题,我正在学习 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/

相关文章:

ios - 如何将 SKEmitterNode 添加到 SKScene(它没有显示)?

ios - 如何在 swift 中转换持续时间形式的 youtube api?

ios - Multipeer Connectivity 终止 session

ios - 让 UIView 响应快速、快速的单击的最佳方法是什么?

iphone - 适用于 iOS 的狮子风格非模态警报示例

ios - 如何从位于 Collection View 单元格内的步进器获取选定的 IndexPath?

swift - 下载图像后在 SwiftUI 中更新 ImageView

ios - Swift 导航到 3 个窗口深的 ViewController

ios - 添加额外控件时的 UITableViewController 或 UIViewController

ios - 在 SWIFT 2.x 中以编程方式调用带有 NavigationController 的 UIViewController