Ios 为Segue做准备永远不会被调用
我有以下情节提要: 它是如何工作的Ios 为Segue做准备永远不会被调用,ios,swift,Ios,Swift,我有以下情节提要: 它是如何工作的 用户可以看到所有单元格 用户无法查找一个特定的单元格 点击单元格时,表视图消失,容器视图不再隐藏 “容器”视图显示所按下单元格中有关objet的所有信息 主控制器具有以下方法: func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { searchBar.showsCancelButton = false searchBar.text = f
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
searchBar.showsCancelButton = false
searchBar.text = filteredData[indexPath.row]
searchBar.resignFirstResponder()
tableView.isHidden = true
especificationView.isHidden = false
print("A")
performSegue(withIdentifier: "unwindToEspecification", sender: self)
}
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
print("B")
if let indexPath = tableView.indexPathForSelectedRow{
aircraftSelected = aircrafts[indexPath.row]
}
}
而争论的观点是:
func changeLabel(text: String) {
registrationLabel.text = text
}
@IBAction func unwindToEspecificationViewController (sender: UIStoryboardSegue) -> Void{
print("B")
if let controller = sender.source as? AircraftSelectionViewController, let data = controller.aircraftSelected{
self.aircraft = data
changeLabel(text: (aircraft?.registration)!)
}
}
主情节提要通过以下segue及其标识符链接到另一个视图:
当我执行此代码时,终端仅显示“A”
我怎样才能让它工作
非常感谢 在故事板中,飞机选择是父视图控制器,飞机特殊化是其子视图控制器。他们之间不可能有“分离”;他们两人同时在屏幕上显示自己的观点,因此从此无处可去 如果要显示一个表视图,其单元格可以受搜索限制,那么这不是segue的任务,而是UISearchController体系结构的任务
如果想法是建立从飞机选择视图控制器到飞机特殊化视图控制器的通信线路,后者是飞机选择的子对象,因此从飞机选择的角度来看,它是
self.childview控制器[0]
(或者在Swift 4.2中是self.children[0]
)。您将需要使用as将其丢弃编码>以便将其作为飞机的一种特殊形式进行交谈。这是有意义的。如何使用搜索控制器实现相同的功能?我只需要将一个对象传递给另一个视图。我不知道“另一个视图”是什么。(或“我”是谁)请使用实际视图控制器的名称等。我知道这些名称的含义,因为您展示了故事板。从主视图到主视图中包含的视图,您是指视图控制器吗?是的,从飞机选择器视图控制器到飞机Expecification视图控制器(正如您在发布的图片中所看到的)