准备转至导航控制器
Prepare for segue to a navigation controller
我在准备转至控制第二个 table 视图控制器导航栏的导航控制器时遇到了麻烦。
无论如何,我需要将数组传输到下一个 table 视图控制器,这是我用来执行此操作的代码(此代码出现在第一个 table 视图控制器上):
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject!) {
if (segue.identifier == "Load View") {
// pass data to next view
let indexpath: NSIndexPath = self.tableView.indexPathForSelectedRow!
let DestinationViewController = segue.destinationViewController as! AnswerTableViewController
var ArrayofArrayswithAnswerElementsTwo : [Answer]
var ArrayofArrayswithAnswerElements = levelsArray.map( { [=10=].AnswersArray })
ArrayofArrayswithAnswerElementsTwo = ArrayofArrayswithAnswerElements[indexpath.row]
DestinationViewController.ArrayofArrayswithAnswerElements = ArrayofArrayswithAnswerElementsTwo
}
}
当我点击一个单元格时,我在这一行收到 SIGABRT 错误:
let DestinationViewController = segue.destinationViewController as! AnswerTableViewController
我知道它为什么这样做(因为我所做的转换是针对 table 视图而不是导航控制器)
如何在保留导航栏的同时将数据传输到第二个 table 视图。
将不胜感激。
删除第二个导航控制器,您的代码看起来不错。 segue 应该是从 "Your Lists" 到 "Content" 的推送 segue,如果你推送,它不需要另一个导航控制器,但栏仍然会显示。导航栏将向下层叠导航堆栈。
更多信息:
试试这个
let NavigationController = segue.destinationViewController as! UINavigationController
let DestinationViewController = NavigationController.topViewController as! AnswerTableViewController
// ...
DestinationViewController.ArrayofArrayswithAnswerElements = ArrayofArrayswithAnswerElementsTwo
我在准备转至控制第二个 table 视图控制器导航栏的导航控制器时遇到了麻烦。
无论如何,我需要将数组传输到下一个 table 视图控制器,这是我用来执行此操作的代码(此代码出现在第一个 table 视图控制器上):
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject!) {
if (segue.identifier == "Load View") {
// pass data to next view
let indexpath: NSIndexPath = self.tableView.indexPathForSelectedRow!
let DestinationViewController = segue.destinationViewController as! AnswerTableViewController
var ArrayofArrayswithAnswerElementsTwo : [Answer]
var ArrayofArrayswithAnswerElements = levelsArray.map( { [=10=].AnswersArray })
ArrayofArrayswithAnswerElementsTwo = ArrayofArrayswithAnswerElements[indexpath.row]
DestinationViewController.ArrayofArrayswithAnswerElements = ArrayofArrayswithAnswerElementsTwo
}
}
当我点击一个单元格时,我在这一行收到 SIGABRT 错误:
let DestinationViewController = segue.destinationViewController as! AnswerTableViewController
我知道它为什么这样做(因为我所做的转换是针对 table 视图而不是导航控制器) 如何在保留导航栏的同时将数据传输到第二个 table 视图。 将不胜感激。
删除第二个导航控制器,您的代码看起来不错。 segue 应该是从 "Your Lists" 到 "Content" 的推送 segue,如果你推送,它不需要另一个导航控制器,但栏仍然会显示。导航栏将向下层叠导航堆栈。
更多信息:
试试这个
let NavigationController = segue.destinationViewController as! UINavigationController
let DestinationViewController = NavigationController.topViewController as! AnswerTableViewController
// ...
DestinationViewController.ArrayofArrayswithAnswerElements = ArrayofArrayswithAnswerElementsTwo