IOS/Swift:将单元格选择保存在UITableView上



我有一个主细节布局,两个视图中都有表视图。左侧面板有患者列表,右侧面板有文档列表,通过更改患者选择,将重新加载文档,如果用户单击文档,它将转到webView以显示PDF

出于一致性目的,我使用以下代码默认选择了患者表中的第一个单元格

override func viewDidAppear(animated: Bool) {
    super.viewDidAppear(true)
    let rowToSelect:NSIndexPath = NSIndexPath(forRow: 0, inSection: 0);
    self.tableView.selectRowAtIndexPath(rowToSelect, animated: true, scrollPosition: UITableViewScrollPosition.None)
    self.performSegueWithIdentifier("showDetail", sender: self)
  }

工作还好吧?,是的,但从这里开始有点不一致,关闭此PDF文档后(通过单击导航完成),我以前选择的单元格将熄灭,它再次指向第一个患者。有什么方法可以保存此选择吗?哦,甚至还可以将所选内容保存在详细信息页面上。谢谢

创建一个NSIndexPath属性。

将你的视图更改为仅默认选择第一个单元格(如果之前没有选择):

override func viewDidAppear(animated: Bool) {
    super.viewDidAppear(true)
    if (!self.rowToSelect) {
        rowToSelect = NSIndexPath(forRow: 0, inSection: 0);
        self.tableView.selectRowAtIndexPath(rowToSelect, animated: true, scrollPosition: UITableViewScrollPosition.None)
        self.performSegueWithIdentifier("showDetail", sender: self)
    }    
  }

didSelectRow委托方法中,将选定的索引路径存储在self.rowToSelect中。

最新更新