在选择当前表视图的一行时返回到上一视图,可以通过以下几种方式实现:
navigationController?.popViewController(animated: true)
dismiss(animated: true, completion: nil)
在当前表视图的视图控制器中定义委托协议和委托方法:
protocol TableViewDelegate: class {
func didSelectRowAndReturnToPreviousView()
}
class CurrentTableViewController: UITableViewController {
weak var delegate: TableViewDelegate?
// 在选择一行时调用委托方法
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
delegate?.didSelectRowAndReturnToPreviousView()
}
}
在上一视图的视图控制器中实现委托方法,并在跳转到当前表视图时设置委托:
class PreviousViewController: UIViewController, TableViewDelegate {
// 实现委托方法,在方法中返回到上一视图
func didSelectRowAndReturnToPreviousView() {
navigationController?.popViewController(animated: true)
}
// 跳转到当前表视图时设置委托
func goToCurrentTableView() {
let currentViewController = CurrentTableViewController()
currentViewController.delegate = self
navigationController?.pushViewController(currentViewController, animated: true)
}
}
通过以上三种方式,可以在选择当前表视图的一行时返回到上一视图。具体选择哪种方式取决于你的应用架构和需求。
领取专属 10元无门槛券
手把手带您无忧上云