UITableView包含prepareForSegue部分

时间:2015-10-03 23:36:29

标签: ios swift uitableview segue

我正在处理有多个部分的UITableView。每个部分都有多个由不同数组驱动的项目。当我从任何部分单击单元格时,我希望项目的名称传递给另一个视图控制器。我知道如何将prepareForSegue函数与一个数组一起使用,但我需要多个数组的帮助。

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
    let secondScene=segue.destinationViewController as! nextPageViewController

    if let indexPath=self.tableView.indexPathForSelectedRow{
        let array1=TableData[indexPath.row]

        secondScene.currentPhoto=array1
}

2 个答案:

答案 0 :(得分:2)

假设你的模型是这样的:

let section1Array = ["row1", "row2"]
let section2Array = ["row1", "row2"]
let section3Array = ["row1", "row2"]

let sectionArray = [section1Array, section2Array, section3Array]

此处,sectionArray派生您的各个部分,section1Arraysection2Array& section3Array派生您的各个部分行。

话虽如此,您可以检索并将此数据发送到第二个场景:

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
    let secondScene = segue.destinationViewController as! nextPageViewController

    if let indexPath = self.tableView.indexPathForSelectedRow {
        let currentPhoto = sectionArray[indexPath.section][indexPath.row]
        secondScene.currentPhoto = currentPhoto
    }
}

答案 1 :(得分:0)

如果您的表有多个部分,那么在prepareForSegue中使用indexPath.section来查找单击了哪个部分,它告诉您要使用哪个支持数组。然后使用indexPath.row从数组中选择项目,并将其作为照片传递给destinationViewController。