Ios 如何在单个viewController中管理表视图行?
假设我有一个tableView,其中有20行包含数据(例如:联系人姓名),每当点击任意一行时,它都会显示另一个包含联系人姓名详细信息的表视图,到目前为止,我已经创建了两个表视图,一个用于“联系人姓名”,另一个用于“联系人详细信息” (仅限一排) 但问题是,如果我继续为每一行细节创建ViewController,我最终将拥有20个独立的控制器,这将使情节提要变得庞大而混乱,因此我搜索了一些好的技术来简化此过程,但还没有找到更好的方法。Ios 如何在单个viewController中管理表视图行?,ios,swift,model-view-controller,swift-protocols,Ios,Swift,Model View Controller,Swift Protocols,假设我有一个tableView,其中有20行包含数据(例如:联系人姓名),每当点击任意一行时,它都会显示另一个包含联系人姓名详细信息的表视图,到目前为止,我已经创建了两个表视图,一个用于“联系人姓名”,另一个用于“联系人详细信息” (仅限一排) 但问题是,如果我继续为每一行细节创建ViewController,我最终将拥有20个独立的控制器,这将使情节提要变得庞大而混乱,因此我搜索了一些好的技术来简化此过程,但还没有找到更好的方法。 任何人都可以推荐一些现成的或藏在腰带下的……) 您不必创建20
任何人都可以推荐一些现成的或藏在腰带下的……) 您不必创建20个ViewController,只需要2个。第一个用于“联系人列表”,第二个用于详细信息。您只需使用
prepareforsgue
方法将一个联系人传递给Detail ViewController,然后在其中显示其数据。您可以为每个联系人重新使用详细视图控制器
准备分段:您不需要在StoreyBoard中为每个项目创建单独的控制器。 您所需要的只是创建一个控制器并调用
performsguewithidentifier
或调用:
let viewController = storyboard?.instantiateViewController(withIdentifier: "storyboardIdentifier") as! SomeViewController
navigationController?.pushViewController(viewController, animated: true)
viewController.configure(yourDetails)
其中,
configure(yourDetails)
是您的配置方法,您可以在其中传递详细信息显示您尝试过的代码,而不是20个单独的视图控制器,您只需要一个通用的viewcontroller就可以将数据传递给它