Swift:无法从UIViewController转到UITableViewController

时间:2014-11-06 07:45:31

标签: uitableview swift uiviewcontroller segue

我尝试将数据从UIViewController类传递到另一个视图UITableViewController。我可以通过以下方式成功将数据从UIViewController传递到UIViewController

override func prepareForSegue(segue: (UIStoryboardSegue!), sender: AnyObject!) {
        if (segue.identifier == "segueName") {
            var target = segue!.destinationViewController as NextViewController
            target.name = self.nameText.text
        }
}

但是尝试使用此逻辑从UIViewController转到UITableViewController给了我 " Swift dynamic cast failed"在" var target..."线。我没有构建错误,Xcode知道有一个变量" name"在下一个视图控制器(UITableViewController)中等待分配数据。

1 个答案:

答案 0 :(得分:0)

只是为了确保没有副作用,因为你的功能签名在选项上看起来有些奇怪。试试这个:

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
    if (segue.identifier == "segueName") {
        if let target = segue.destinationViewController as? NextViewController
            target.name = self.nameText.text
        }
    }
}

然后在该函数中放置一个断点并逐步执行代码以查看会发生什么。