【问题标题】:How to manage table view rows inside a single viewController?如何管理单个 viewController 中的表视图行?
【发布时间】:2020-10-13 04:11:58
【问题描述】:

假设我有一个 tableView,其中有 20 行包含数据(例如:联系人姓名),每当点击任何随机行时,它都会显示另一个包含联系人姓名详细信息的表视图,到目前为止,我已经创建了 2 个表视图,一个是“联系人姓名”,一个是“联系方式” (仅适用于一排)

但问题是,如果我继续为每一行详细信息创建 ViewController,我最终将拥有 20 个单独的控制器,这会使 storyBoard 变得庞大而混乱,所以我搜索了一些好的技术来简化这一点,但找不到更好的方法然而.. 。 任何人,可以从他们的架子上或腰带下推荐一些..? )

【问题讨论】:

  • 显示你尝试过的代码
  • 您只需要一个通用的视图控制器,而不是 20 个单独的视图控制器,您可以在其中向其传递数据

标签: ios swift model-view-controller swift-protocols


【解决方案1】:

您不必创建 20 个 ViewController,您只需要 2 个。第一个用于“联系人列表”,第二个用于详细信息。您只需使用prepareForSegue 方法将一个联系人传递给Detail ViewController,然后在其中显示其数据。您为每个联系人重用详细视图控制器!

为 Segue 做准备:Swift 3 - Prepare Segue

【讨论】:

    【解决方案2】:

    您不需要在 StoreyBoard 中为每个项目创建单独的控制器。 您只需要创建一个控制器并调用performSegueWithIdentifier 或调用:

    let viewController = storyboard?.instantiateViewController(withIdentifier: "storyboardIdentifier") as! SomeViewController
    navigationController?.pushViewController(viewController, animated: true)
    viewController.configure(yourDetails)
    

    configure(yourDetails) 是你的配置方法,你在哪里传递你的详细信息

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-04-19
      • 1970-01-01
      • 1970-01-01
      • 2014-12-16
      • 1970-01-01
      • 1970-01-01
      • 2011-10-30
      相关资源
      最近更新 更多