我尝试将数据从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
)中等待分配数据。
答案 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
}
}
}
然后在该函数中放置一个断点并逐步执行代码以查看会发生什么。