2016-06-29 11 views
0

助けてください。私はビューから新しいビューにデータを送る必要があります。私はそのStoryBoardを持っています。最初のビューで StoryBoardどのように新しいビューにデータを送信

私が持っているこの方法は、私がプッシュセグエを使用しますが、今、私は、モーダルセグエを使用するときに働いたとsegue.destinationViewController はNavigationControllerではなく、私のTableViewController

答えて

1

各ナビゲーションコントローラには、提示されたコントローラの配列があります。同様にあなたのコントローラーが(今示されている)上にある場合は、取得するには、このコードを使用することができ、それnavigationController.topViewController そうしないと、あなたが作成できるだけでなく、このコード

let navController: UINavigationViewController = segue. destinationViewController 
for let controller in navController.viewControllers { 
    if let neededController = controller as? YourControllerType { 
    // your action 
} 
} 

を使用して、すべてのコントローラを介して行くとあなたを取得する必要がありますあなたのコントローラを内部に格納するUIViewControllerのIBInspectableプロパティを持つカスタムセグエ。その後、あなたはあなたのセグをあなたのカスタムセグにキャストし、そのプロパティからあなたのコントローラーを得ることができます。

1

使用で中

override func prepare(for segue: UIStoryboardSegue, sender: AnyObject?) { 
    if segue.identifier == "LEDChangesSegue" { 
     let changeLED = segue.destinationViewController as? AddLED 
      changeLED?.senderCell = sender as? LEDListCell 
      changeLED?.ledController = sender!.ledController 
      changeLED?.update = true 
    } 
} 

コードあなたの次のtableViewControllerを呼び出すVCとしての新しい宛先

let destination = segue.destinationViewController 
if let navcon = destination as? UINavigationController { 
    destination = navcon.visibleViewController! 
} 
if let hvc = destination as? TableViewController{ 
    // do whatever 
} 
+0

ありがとうございます、すべての仕事 – MacSergey

+0

よろしくお願いします! – Abdoelrhman

関連する問題