Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.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
选择加载时的特定行swift tableView_Swift_Uitableview - Fatal编程技术网

选择加载时的特定行swift tableView

选择加载时的特定行swift tableView,swift,uitableview,Swift,Uitableview,我有一个tableView,其中用户选择一行并显示复选标记,这些行被放入一个数组中。加载tableView时,如何选择特定行。以下是我发现并尝试过的,但没有成功: let rowToSelect:NSIndexPath = NSIndexPath(row: 1, section: 0); self.userTableView.selectRow(at: rowToSelect as IndexPath, animated: true, scrollPosition: .none) 我相信

我有一个tableView,其中用户选择一行并显示复选标记,这些行被放入一个数组中。加载tableView时,如何选择特定行。以下是我发现并尝试过的,但没有成功:

let rowToSelect:NSIndexPath = NSIndexPath(row: 1, section: 0);  

self.userTableView.selectRow(at: rowToSelect as IndexPath, animated: true, scrollPosition: .none)

我相信您希望检查某个变量中所选索引的复选标记。如果这是您想要的,您可以在tableView\uTableView:UITableView,CellForRow的indexPath:indexPath->UITableViewCell方法中执行此操作,如:

myCell.checked = checkedIndexes[indexPath.row] ?? false
我假设您有一个带有checked:Bool变量的自定义单元格,因此如果您的checkedIndexes变量中有值,则设置它,否则设置为false

警告:由于重复使用单元格,因此假值很重要

这只是一个建议,你可以用任何你喜欢的方式去做


selectRowat indexPath:indexPath?、动画:Bool、scrollPosition:UITableViewScrollPosition方法只是选择行,它不执行任何与逻辑相关的操作。要实现此功能,您必须使用myCell.checked=checkedIndexes[indexath.row]之前建议的代码从UITableViewDelegate中实现tableView\uTableView:UITableView,didSelectRowAt Indexath:Indexath??错误。

选择特定行的确切含义是什么?是否要为以前选择的行选择复选标记?我认为该行正在被选择,但您需要通过传递除.none以外的内容将表视图滚动到新选择的行。检查:@valcanaia,是的,我把所有索引都存储在一个全局变量中,如果这样做的话,我只想硬编码一个单元格选择sense@MoeAbdul-哈米德,您好,当我将其更改为.top或.bottom时,我收到以下错误:2017-07-12 12:35:09.390507 SnapApp[417:97636]***由于未捕获的异常“NSRangeException”而终止应用程序,原因是:-[UITableView_ContentOffsetForScrollingToRowatineXPath:atScrollPosition:]:第0行超出了第0节的边界0。请检查我的答案。我发布了一个使用selectRow+didSelectRow的解决方案和一个使用cellForRow的解决方案,假设您的单元格中有一些指示选择的UI组件。如果它不能解决您的问题,请让我知道原因,以便我可以详细说明。