我正在处理有多个部分的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
}
答案 0 :(得分:2)
假设你的模型是这样的:
let section1Array = ["row1", "row2"]
let section2Array = ["row1", "row2"]
let section3Array = ["row1", "row2"]
let sectionArray = [section1Array, section2Array, section3Array]
此处,sectionArray
派生您的各个部分,section1Array
,section2Array
& 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。