问题描述
我有两个Viewcontrollers。.
在2ndVC中,我具有tableview。.在这里,我不希望didSelectRowAt
方法起作用。.当它从1stVC btnAction导航时,我只需要该方法起作用
在1stVC文本字段中,我需要填充2ndVC tableview的选定行文本..因此,我在文本字段上放置了按钮,在btnAction中,我将导航导航至2ndVC ..现在,我需要tableview在文本字段中选择行文本
在2ndVC中,我在这里写了didSelectRowAt
,我不想选择任何行,但是如果我选择要转到1stVC的任何行,则在此viewcontroller中。
class 2ndVC: UIViewController {
func tableView(_ tableView: UITableView,didSelectRowAt indexPath: IndexPath) {
let viewController = self.storyboard?.instantiateViewController(withIdentifier: "1stVC") as! 1stVC
viewController.empLoc = empDetail[indexPath.row]
self.navigationController?.pushViewController(viewController,animated: true)
}
}
1stVC代码:如果我从此处转到2ndVC,则只需要选择tableview
class 1stVC: UIViewController {
@IBAction func empBtn(_ sender: Any) {
let viewController = self.storyboard?.instantiateViewController(withIdentifier: "2ndVC") as! 2ndVC
self.navigationController?.pushViewController(viewController,animated: true)
}
}
如何停止2ndVC ..中的表视图行选择方法,以及如何从1stVC ..中选择表视图行。
请帮助我编写代码。
解决方法
在第二个viewController中有一个变量,例如isfromFirstVC,默认情况下设置为false。当您从第一个呈现第二个VC时,将该变量设置为true(viewcontroller.isfromFirstVC = true)。在第二个VC中,请在didSelectRowAt方法中使用此变量。