selectRowAtIndexPath无法在swift中工作

Gui*_*uce 4 uitableview swift

我试图以编程方式选择tableview行.我一直在这里遵循文档和其他参考,但它不起作用.我没有收到错误,它只是不选择行.

注意:目前我只想手动选择一行.

我是否正确使用了委托,数据源和NSIndexPath?

 override func viewDidLoad() {
        super.viewDidLoad()

    var myPath = NSIndexPath(forRow: 1, inSection: 0)
    myTableView.selectRowAtIndexPath(myPath, animated: false, scrollPosition: UITableViewScrollPosition.None)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

idm*_*ean 6

表视图可能尚未就绪或在viewDidLoad调用时未填充.

尝试viewDidAppearviewWillAppear代替:

override func viewDidAppear(_ animated: Bool){
    let myPath = NSIndexPath(row: 1, section: 0)
    tableView.selectRow(at: myPath as IndexPath, animated: false, scrollPosition: UITableViewScrollPosition.none)
}
Run Code Online (Sandbox Code Playgroud)

  • 如果重写此方法,则必须在实现中的某个时刻调用super。 (2认同)