2015-10-16 63 views
0

我正在準備一個導航控制器,正在控制第二個表視圖控制器導航欄的segue的麻煩。 This is the storyboard爲導航控制器準備segue

無論如何,我需要的陣列轉移到下一個表視圖控制器,這是我使用這樣做(顯示的第一個表視圖控制器上此代碼)的代碼:

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({ $0.AnswersArray }) 
      ArrayofArrayswithAnswerElementsTwo = ArrayofArrayswithAnswerElements[indexpath.row] 
      DestinationViewController.ArrayofArrayswithAnswerElements = ArrayofArrayswithAnswerElementsTwo 
     } 
    } 

當我點擊一個細胞,我得到這條線上的SIGABRT錯誤:

let DestinationViewController = segue.destinationViewController as! AnswerTableViewController 

我知道爲什麼它這個(因爲我做演員是表視圖沒有導航控制器) 我怎樣才能將數據傳輸到那第二張桌子一邊看ke eping導航欄。 幫助將不勝感激。

+2

你是從一個導航控制器推到另一個人的原因是什麼?看起來像第二個導航控制器是不必要的 – JeffN

+0

原因是我想讓我的取消按鈕正常工作 – needshelp

回答

1

試試這個

let NavigationController = segue.destinationViewController as! UINavigationController 
let DestinationViewController = NavigationController.topViewController as! AnswerTableViewController 
// ... 
DestinationViewController.ArrayofArrayswithAnswerElements = ArrayofArrayswithAnswerElementsTwo