如何使每个tableview单元格呈现不同的详细视图控制器

时间:2015-07-20 09:07:08

标签: ios swift uitableview

我是新手,但过去两个月我学到了很多东西。 我正在构建一个应用程序,其中您在表格视图中有一个产品列表,当按下一个单元格时,它会显示一个新的视图控制器,其中页面视图显示产品的类别。 我设法做了所有事情,除非我点击不同的单元格,它呈现相同的页面视图控制器。 所以我的问题是如何让每个单元格呈现一个不同的页面视图控制器,其中包含有关产品的不同细节?

这是我的didSellectRowAtIndexPath代码:

func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath!)
{

    var detailedViewController: ViewController = self.storyboard?.instantiateViewControllerWithIdentifier("ViewController") as ViewController


    self.presentViewController(detailedViewController, animated: true, completion: nil)
}

我可以提供有关代码的更多信息,只需告诉我你应该帮助理解我的想法。

提前致谢

1 个答案:

答案 0 :(得分:0)

从问题看来,您似乎想要来呈现相同的页面视图控制器,只有不同的细节。

在故事板中为细节控制器创建一个segue,并在prepareForSegue中对其进行配置。假设您的产品是数据源的数据数组productsArray

let detailController = segue.destinationViewController as! DetailController
let cell = sender as! UITableViewCell // or your cell subclass
let point = sender.convertPoint(CGPointZero, toView:tableView)
let indexPath = tableView.indexPathForRowAtPoint(point)
detailController.product = productArray[indexPath.row]!

显然,您的详细控制器将具有product属性,并将使用此对象的详细信息配置其UI。