ios - 是否可以调用另一个视图控制器的tableview didSelect 索引路径并执行它?
问题描述
首先
我有一个 ViewController,它有 Button
该按钮将通过导航返回到特定的 ViewController
var viewControllers = self.navigationController!.viewControllers
while !(viewControllers.last is MainViewController) {
viewControllers.removeLast()
}
let destinationViewController = self.storyboard?.instantiateViewController(withIdentifier: "destinationViewController") as! destinationViewController
viewControllers.append(destinationViewController)
self.navigationController?.setViewControllers(viewControllers, animated: false)
在我的destinationViewController 中有TableView
我需要自动进行第一行
所以我在上面的 setViewControllers 之前写下这些代码
但是得到零
let indexPath = IndexPath(row: 0, section: 0)
destinationViewController.tableView.selectRow(at: indexPath, animated: true, scrollPosition: .none)
这是destinationViewController
class DestinationViewController: UIViewController {
@IBOutlet weak var tableView: UITableView!
override func viewDidLoad() {
super.viewDidLoad()
tableView.delegate = self
tableView.dataSource = self
}
}
extension DestinationViewController:UITableViewDelegate, UITableViewDataSource {
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
//Here is user select can be triggered, but I want to call from another viewController
}
}
我的问题是我应该如何从另一个 viewController 调用我想要的 tableView 的行?
解决方案
而不是
destinationViewController.tableView.selectRow(at: indexPath, animated: true, scrollPosition: .none)
,为什么不打电话:
destinationViewController.
tableView(destinationViewController.tableView,
didSelectRowAt: IndexPath(row: 0, section: 0))
推荐阅读
- python - numba jit 是否有可能减慢我的 gcd 执行速度?
- javascript - 如何使用 js 在特定日期过期 XML 节点?
- laravel - 获取所有相关记录 laravel
- angularjs - Angularjs $http服务jsonp方法不断返回404状态码
- android - 将 EditText 文本保存到数据库的性能问题
- python - 修改关闭某个变量的函数时出现问题。旧的封口不适合。空闭包崩溃解释器
- c# - Azure Function v2 中的 BrokeredMessage 发送和消息使用者
- angularjs - AngularJS 中的 $$passToExceptionHandler 不抛出异常
- python - 使用列表列表访问字典中的值并返回列表列表
- bluetooth-gatt - 连接OBD设备时,setCharacteristicNotification和writeCharacteristic,onCharacteristicChanges收到3E 00 00 3F通知