swift在cellForRowAtIndexPath之后调用prepareForSegue

时间:2016-05-06 19:27:13

标签: ios swift uitableview uistoryboardsegue

我有一个与表视图绑定的segue。我需要弄清楚在prepareForSegue中点击了哪个单元格,这样我就可以提取该单元格的信息并将其传递给目标视图控制器。我该怎么做?

编辑: 代码:

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
    print ("preparingForSeque...")
    if (segue.identifier == "quoteView") {
        let svc = segue.destinationViewController as! QuoteViewController
        svc.category = clickedCategory
        print ("svc.category is now " + clickedCategory)
        print ("Preparing for transfer to a quoteView")
    }
}

override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
    clickedCategory = categoryArray[indexPath.row]
    print ("cell clicked, clickedCategory is now " + clickedCategory)
}

2 个答案:

答案 0 :(得分:0)

如果要重新加载整个tableview,请使用tableView.reloadData(),如果要在按下单元格之后转到视图控制器,请使用func name tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath)

答案 1 :(得分:0)

“您可以在prepareForSegue中使用tableView.indexPathForSelectedRow()来获取他们选择的单元格的索引并获取您的数据。” dan在评论中解决了这个问题。