我正在学习Swift,我正在努力将项目从一个segue传递到另一个。从代码中我看来,您正在创建一个名为“secondVC”的新ViewController对象。在第3行中,我觉得它通过将此新控制器设置为等于segue.destinationViewController来复制segue.destinationViewController。换句话说,我不明白secondVC实际上是如何引用第二个视图控制器,而不是一个重复的实例。我的思维在哪里?这是代码:
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
var secondVC:SecondViewController = SecondViewController()
secondVC = segue.destinationViewController as SecondViewController
secondVC.delegate = self
}
非常感谢!
答案 0 :(得分:0)
我也在迅速学习 - 根据我自己的经验,你使用prepareForSegue在segue开始之前将数据传递给secondVC。
这是一些示例代码。我使用prepareForSegue将任务数据传递到第二个视图控制器。还有其他方法可以做到这一点,这只是一种方式。
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "showTaskDetail" {
let detailVC: TaskDetailViewController = segue.destinationViewController as TaskDetailViewController
let indexPath = self.tableView.indexPathForSelectedRow()
let thisTask = fetchedResultsController.objectAtIndexPath(indexPath!) as TaskModel
detailVC.detailTaskModel = thisTask
detailVC.delegate = self
}