如何确保didSelectRowAtIndexPath打开正确的视图

时间:2015-08-25 03:27:49

标签: ios swift uitableview parse-platform didselectrowatindexpath

我知道如何在用户选择单元格后将用户发送到新单元格,但如果我的单元格顺序发生变化,因为我正在从Parse中检索数据,因此对于每个新单元格,行数会发生变化。

如何确保用户在选择某个单元格时被发送到正确的页面?这就是我目前正在使用的内容,但我知道,除了对每个可能的选项进行硬编码之外,还有更好的解决方案。

有什么建议吗?

$html = '<body style="text-align: center">
            <span> some words in english<span>
            <span>ואחכ כמה מילים בעברית <br> כמה מילים כתובות בעברית<span>
            <span>and then some words in english</span>
        </body>';

$pdf->AddPage();

$pdf->writeHTML( $html, true, false, true, false, '' );

2 个答案:

答案 0 :(得分:1)

为了解您的问题,建议您使用NSMutableDictionary存储所有用户信息数据,在didSelectRowAtIndexPath函数中,您将使用indexPath查找正确的用户信息。

答案 1 :(得分:0)

您的意见:

  • 表格视图
  • 索引路径(section,row)有序对

你的输出:

  • 标识segue的字符串

理想的数据结构是字典。

首先,请注意表视图输入始终相同(您似乎只关心一个表视图 - 编写数据源协议以处理尽可能多的表视图,但大多数人一对一使用)。

其次,考虑一下你的键和值:你的关键是索引路径。实际上,索引路径只分解为Integer,因为它总是相同的部分,这类似于上面描述的表视图的情况。

所以你的字典将是类型:Dictionary<Integer, String>

现在,不要直接使用字典,而是让函数包装它并调用函数segueForIndexPathInDefaultTableView

private let seguesForIndexPaths:[Integer:String] = [0:"segue0",1:"segue1",2:"segue2"]

private func segueForIndexPathInDefaultTableView(indexPath: NSIndexPath) {
    return self.seguesForIndexPaths[indexPath.row]
}

func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {      
    self.performSegueWithIdentifier(self.segueForIndexPathInDefaultTableView(indexPath: indexPath), sender:self)
}