使可搜索的UITableView可以在选择单元格时将其带到另一个ViewController,但单元格索引不变

时间:2019-05-02 15:23:21

标签: ios swift uitableview uisearchbar

我正在尝试制作一个<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:output method="html" indent="yes" /> <xsl:key name="speakers" match="Speaker" use="@id" /> <xsl:template match="/"> <table> <xsl:for-each select="Trans/Episode/Section/Turn[@speaker != '']"> <tr> <td><xsl:value-of select="key('speakers', @speaker)/@name"/></td> <td><xsl:value-of select="@startTime" /></td> </tr> </xsl:for-each> </table> </xsl:template> </xsl:stylesheet> 可搜索的。但是,在搜索后加载新结果时,我希望它们的原始UITableView保持以前的状态。

如果我现在运行我的代码,我的第一个单元格的索引为0,当我搜索某些东西并且返回的单元格数不同时,第一个单元格的索引仍然为0。

1 个答案:

答案 0 :(得分:0)

ViewController显然是不是情节提要中的目标视图控制器。

覆盖prepare(for segue,将索引路径作为sender传递,然后在此处设置标签

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
    performSegue(withIdentifier: "gotocompanyfav", sender: indexPath)
}

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
    if segue.identifier == "gotocompanyfav" {
        let destinationController = segue.destination as! ViewController
        let indexPath = sender as! IndexPath
        destinationController.searchStruct.buttonTag = indexPath.row
    }
}