在一个应用程序中,我正在提取一个JSON数组,并使用它来填充UITableView:
class TableViewController: UITableViewController, NSURLConnectionDelegate {
var tableData: [AnyObject] = []
// ...
func connectionDidFinishLoading(connection: NSURLConnection!) {
var dataAsString = NSString(data: data, encoding: NSUTF8StringEncoding)
var err: NSError
var json = NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.MutableContainers, error: nil) as NSDictionary
// After parsing JSON...
tableData += json as Array
tableView.reloadData()
tableView.scrollToRowAtIndexPath(NSIndexPath(index: tableData.count - 1), atScrollPosition: UITableViewScrollPosition.Top, animated: true)
}
// ...
}
最后一行称为
scrollToRowAtIndexPath
,导致信号SIGABRT。注释掉该行即可解决。我是iOS开发的新手,因此不胜感激。提前致谢。 最佳答案
您应该使用以下代码:
NSIndexPath(forRow: tableData.count - 1, inSection: 0) //O in section: if tableView has only one section
代替:
NSIndexPath(index: tableData.count - 1)
传递到表视图的索引路径必须恰好包含两个用于指定节和行的索引。
关于ios - 调用scrollToRowAtIndexPath时的SIGABRT,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25457251/