寻找当前视图控制器的新实例

时间:2015-03-25 15:58:06

标签: ios swift uistoryboard uistoryboardsegue

我有一个嵌入在导航控制器中的故事板视图,它显示来自数据库的记录以及查看相关记录的链接。相关记录需要使用相同的视图来显示其数据,同时仍然保持导航堆栈,以便用户可以返回到先前的记录。请记住,一些数据需要传递给新的viewController,而UI由一个tableView与一行中的每个元素组成,如何完成这个segue?

以下是视图。如果可能,请回复Swift中的任何示例代码。 enter image description here

2 个答案:

答案 0 :(得分:2)

With some inspiration from this answer和@Jassi的指导,这是最终产品:

func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
    let vc = storyboard?.instantiateViewControllerWithIdentifier("inventoryItemDetail") as InventoryDetail
    vc.fmRecordId = item["inContainerRecordId"]! //this is the data which will be passed to the new vc
    self.navigationController?.pushViewController(vc, animated: true)
}

答案 1 :(得分:1)

一个想法 -

为视图控制器提供标识符。并覆盖以下功能。

prepareForSegue

在该函数中,使用您拥有的标识符实例化视图控制器,然后将必要的数据传递给该控制器。并将其推送到导航控制器上。

我希望它能奏效。