Swift在TableViewController中选择行并打开ViewController

时间:2014-12-13 23:10:49

标签: uitableview swift uiviewcontroller segue

我最近开始在Swift学习App开发,我还是比较新的。我试图在主屏幕上创建一个应用程序,用户将单击一个名为profiles的按钮,它将在tableViewController中显示一个名称列表。当用户点击名称时,它会在viewController中打开此人的个人资料。

到目前为止,我已经陷入了什么方法以及该方法中的代码,以允许用户单击我的TableViewController中的名称列表,然后为该人打开一个viewController。我已经创建了我的另一个viewController(DetailsViewController)并在TableViewController和DetailsViewController之间创建了一个segue。

我一直在寻找如何做到这一点,但却找不到运气。如果有人能指出我正确的方向,那将是伟大的。

1 个答案:

答案 0 :(得分:1)

您必须从单元格创建segue到详细视图控制器。要为细节控制器提供数据,请为其提供一个属性(例如name),您可以在父控制器中覆盖的prepareForSegue中设置该属性。

override func prepareForSegue(segue: UIStoryboardSegue?, sender: AnyObject?) {
   let cell = sender as UITableViewCell // or your cell subclass
   let indexPath = self.tableView.indexPathForCell(cell)
   let name = dataArray[indexPath.row]
   // or something else depending on the structure of your data model
   let controller = segue!.destinationViewController() as DetailViewController
   controller.name = name
}

详细视图控制器现在可以使用传递的信息填充其视图。