将indexpath.row转移到新的视图控制器?

时间:2015-10-19 01:39:30

标签: ios arrays swift indexing swift2

我有一个数组存储一个名为levels array的表视图控制器的信息。单击levelsArray中的单元格时,它会显示第二个表视图控制器。 prepareForSegue中的FirstTableViewController方法如下所示:

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject!) {
            if (segue.identifier == "Load View") {
                // pass data to next view
                let indexpath: NSIndexPath = self.tableView.indexPathForSelectedRow!
                let NavigationController = segue.destinationViewController as! UINavigationController
                let DestinationViewController = NavigationController.topViewController as! AnswerTableViewController
                var ArrayofArrayswithAnswerElementsTwo : [Answer]
                var ArrayofArrayswithAnswerElements = levelsArray.map( { $0.AnswersArray })
                ArrayofArrayswithAnswerElementsTwo = ArrayofArrayswithAnswerElements[indexpath.row]
                let selectedLevel: List? = levelsArray[indexpath.row]
                DestinationViewController.ArrayofArrayswithAnswerElements = ArrayofArrayswithAnswerElementsTwo
                DestinationViewController.selectedLevel = selectedLevel
            }
        }

我的问题是如何将[indexpath.row]放到一个新的视图控制器中,该控制器将元素添加到第二个视图控制器。 非常感谢帮助。

1 个答案:

答案 0 :(得分:1)

通常destinationViewController不是UINavigationController;它是您自己的UIViewController子类MyViewController。确保MyViewController具有发件人可以访问的方法或属性,并使用该方法或属性传入indexPath.row