Swift 如何为一个视图控制器创建到另一个嵌入在导航控制器中的视图控制器的序列?
这是我的segue函数。Segue到priceViewController工作正常,但到另一个视图控制器却不断崩溃。接收错误“无法将“UINavigationController”(0x11e264a20)类型的值强制转换为“tableViewwithSections.priceViewController”。 任何帮助都将不胜感激Swift 如何为一个视图控制器创建到另一个嵌入在导航控制器中的视图控制器的序列?,swift,xcode,Swift,Xcode,这是我的segue函数。Segue到priceViewController工作正常,但到另一个视图控制器却不断崩溃。接收错误“无法将“UINavigationController”(0x11e264a20)类型的值强制转换为“tableViewwithSections.priceViewController”。 任何帮助都将不胜感激 override func prepare(for segue: UIStoryboardSegue, sender: Any?) { if(segue
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if(segue.identifier == "toPriceView"){
let des = segue.destination as! priceViewController
des.currentCity = String(self.cityLabel.text!)
}
if(segue.identifier == "toTableView"){
let des = segue.destination as! tableViewController
des.currentCity = String(self.cityLabel.text!)
}
}
你本来就有这样的东西,据我所知,应该可以用。您需要通过
UINavigationController
访问tableViewController
if(segue.identifier == "toTableView"){
let nc = segue.destination as! UINavigationController
let des = nc.topViewController! as! tableViewController
des.currentCity = String(cityLabel.text!)
}
你能分享一下这个异常吗?你的tableViewController实际上叫这个吗?在您的图像中,它看起来像保存的位置或类似的东西?此外,在“toTableView”if语句中,您正在引用priceViewController的属性。为什么呢?未连接但fwiw您的视图控制器是对象,因此(在Swift中)应该以大写字母开头。我刚刚重新阅读了所有内容。第一行是在测试segue标识符之前,强制segue目的地为priceViewController。这会在您触发tableViewController Segue时导致崩溃。是的,抱歉,对文章进行了编辑。我删除了第一行,但仍然遇到了那个错误。我怀疑这与tableViewController(名为Saved Locations)嵌入在导航控制器中这一事实有关。不过我不确定。啊,好的,行了。在我最初删除第一行之后,我似乎没有尝试过这样做。非常感谢您的时间和帮助!!!