我正试图以编程方式在TableView中选择一个单元格。当点击selectrowatindexpath时,我会得到一个sigabort错误。MyIndex的值为1。我从实现了所需的TableView委托和DataSource方法的ViewController调用此函数。

override func viewDidAppear(animated: Bool) {
    if myIndex != nil {
        self.myTableView.selectRowAtIndexPath(NSIndexPath(index: myIndex), animated: false, scrollPosition: UITableViewScrollPosition.Middle)
    }
}

最佳答案

注意控制台中的错误消息-它们大多数时候都非常有用。运行代码时,您将看到消息:
***由于未捕获异常“nsInternalConsistenceyException”而终止应用程序,原因:“的索引路径无效”
与UITableView一起使用。传递给表视图的索引路径必须包含
正好是两个指定节和行的索引。请使用
如果可能,请在uitableview.h中对nsindxpath进行分类。
它描述了问题是什么以及如何修复问题-您应该为nsindepath使用不同的初始值设定项

self.myTableView.selectRowAtIndexPath(NSIndexPath(forRow: 1, inSection: 0), animated: false, scrollPosition: .Middle)

关于swift - 在tableview上调用selectRowAtIndexPath时出现Swift错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35708423/

10-09 04:12