Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在tableview上调用SelectRowatingIndexPath时发生Swift错误_Swift_Uitableview_Tableview_Viewdidappear - Fatal编程技术网

在tableview上调用SelectRowatingIndexPath时发生Swift错误

在tableview上调用SelectRowatingIndexPath时发生Swift错误,swift,uitableview,tableview,viewdidappear,Swift,Uitableview,Tableview,Viewdidappear,我试图以编程方式在tableview中选择一个单元格。我在点击selectRowAtIndexPath时出现SIGABORT错误。myIndex的值为1。我从一个实现了所需tableview委托和数据源方法的viewController调用它 override func viewDidAppear(animated: Bool) { if myIndex != nil { self.myTableView.selectRowAtIndexPath(NSIndexPath(

我试图以编程方式在tableview中选择一个单元格。我在点击selectRowAtIndexPath时出现SIGABORT错误。myIndex的值为1。我从一个实现了所需tableview委托和数据源方法的viewController调用它

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

SelectRowatineXpath将需要一个带有行和节的indexPath。不仅仅是索引

注意控制台中的错误消息-它们在大多数情况下都非常有用。运行代码时,您将看到以下消息:

override func viewDidAppear(animated: Bool) {
    if myIndex != nil {
        self.myTableView.selectRowAtIndexPath(NSIndexPath(index: myIndex), animated: false, scrollPosition: UITableViewScrollPosition.Middle)
    }
}
***由于未捕获异常“NSInternalInconsistencyException”而终止应用程序,原因:“的索引路径无效。” 与UITableView一起使用。传递到表视图的索引路径必须包含 正好有两个指定节和行的索引。请使用 如果可能,在UITableView.h中的nsindepath上的类别

override func viewDidAppear(animated: Bool) {
    if myIndex != nil {
        self.myTableView.selectRowAtIndexPath(NSIndexPath(index: myIndex), animated: false, scrollPosition: UITableViewScrollPosition.Middle)
    }
}
它描述了问题是什么以及如何解决问题-您应该为NSIndexPath使用不同的初始值设定项

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

你确定牢房在那儿吗?回答得很好!我正要发布类似的东西,但我无法更好或更完整地解释它。(投票)谢谢。我刚刚知道如何显示错误控制台。有关于调试和/或阅读错误控制台的好教程吗?感谢老师,不能指向好的教程,也许这本会有帮助。你也可以观看前几年关于调试的wwdc视频,其中有很多精彩的见解