无法将'TableViewController'类型的值转换为'TableViewController'

问题描述 投票:-1回答:3

我正在尝试将Realm数据从Custom cell传递给Detail TableView Controller

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
    if segue.identifier == "viewTask" {
        let nextViewController = segue.destinationViewController as!  TaskViewTableViewController
        let indexPath : NSIndexPath = self.tableView?.indexPathForSelectedRow as NSIndexPath!
        let task = tasks![indexPath.row]
        nextViewController.name = task.name
        nextViewController.notes = task.notes
        nextViewController.date = task.date
        nextViewController.timeLength = task.timeLength
    }
}

我收到了错误

无法将“Taskio.TaskListTableViewController”类型的值(0x10001f028)转换为“Taskio.TaskViewTableViewController”(0x10001f280)。

也试过了

   override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
        if segue.identifier == "viewTask" {
            let nav = segue.destinationViewController as! UINavigationController
            let nextViewController = segue.destinationViewController as!  TaskViewTableViewController
            let indexPath : NSIndexPath = self.tableView?.indexPathForSelectedRow as NSIndexPath!
            let task = tasks![indexPath.row]
            nextViewController.name = task.name
            nextViewController.notes = task.notes
            nextViewController.date = task.date
            nextViewController.timeLength = task.timeLength
        }
    }

并且

let nextViewController :  TaskViewTableViewController = segue.destinationViewController as!  TaskViewTableViewController

编辑

忘了将类名放入tableViewController的storyboard中。它正在发挥作用

ios swift segue
3个回答
© www.soinside.com 2019 - 2024. All rights reserved.