Ios 如何用多个Segue覆盖prepareForSegue
因此,我正在学习核心数据,并设法创建了一个带有父关系的segue,该关系允许我根据您在上一个VC类别视图控制器中选择的类别,仅显示某些项目。现在,我已经创建了一个单独的VC,它根据您的位置显示天气,要访问它,您必须单击原始VC中的按钮“类别视图控制器”以访问weatherViewController。但是,每次我尝试这样做并执行一个序列时,我都会遇到以下错误: 这是我目前掌握的代码:Ios 如何用多个Segue覆盖prepareForSegue,ios,swift,core-data,uiviewcontroller,segue,Ios,Swift,Core Data,Uiviewcontroller,Segue,因此,我正在学习核心数据,并设法创建了一个带有父关系的segue,该关系允许我根据您在上一个VC类别视图控制器中选择的类别,仅显示某些项目。现在,我已经创建了一个单独的VC,它根据您的位置显示天气,要访问它,您必须单击原始VC中的按钮“类别视图控制器”以访问weatherViewController。但是,每次我尝试这样做并执行一个序列时,我都会遇到以下错误: 这是我目前掌握的代码: override func prepare(for segue: UIStoryboardSegue, send
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
let destinationVC = segue.destination as! NoteTableViewController
let weatherDestinationVC = segue.destination as! WeatherViewController
if let indexLocale = noteTableView.indexPathForSelectedRow {
destinationVC.selectionCategory = noteArray[indexLocale.row]
print(indexLocale.row)
} else {
print("Error")
weatherDestinationVC.delegate = self
performSegue(withIdentifier: "goToWeather", sender: self)
}
}
@IBAction func goToWeatherView(_ sender: UIBarButtonItem) {
performSegue(withIdentifier: "goToWeather", sender: self)
}
任何帮助将不胜感激,因为我只是学习核心数据 有条件地强制转换不同的segue目标视图控制器,或检查segue的标识符(以您喜欢的为准)
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if let destinationVC = segue.destination as? NoteTableViewController {
if let indexLocale = noteTableView.indexPathForSelectedRow {
destinationVC.selectionCategory = noteArray[indexLocale.row]
print(indexLocale.row)
}
} else if let weatherDestinationVC = segue.destination as? WeatherViewController {
weatherDestinationVC.delegate = self
}
}
此外,您不必在prepareForSegue中执行检查。有条件地强制转换不同的segue目标视图控制器,或检查segue的标识符(以您喜欢的为准)
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if let destinationVC = segue.destination as? NoteTableViewController {
if let indexLocale = noteTableView.indexPathForSelectedRow {
destinationVC.selectionCategory = noteArray[indexLocale.row]
print(indexLocale.row)
}
} else if let weatherDestinationVC = segue.destination as? WeatherViewController {
weatherDestinationVC.delegate = self
}
}
此外,您不必在prepareForSegue中执行检查。谢谢,伙计!问题解决了!谢谢你的帮助!谢谢你,伙计!问题解决了!谢谢你的帮助!