助けてください。私はビューから新しいビューにデータを送る必要があります。私はそのStoryBoardを持っています。最初のビューで StoryBoardどのように新しいビューにデータを送信
私が持っているこの方法は、私がプッシュセグエを使用しますが、今、私は、モーダルセグエを使用するときに働いたとsegue.destinationViewController
はNavigationControllerではなく、私のTableViewController
助けてください。私はビューから新しいビューにデータを送る必要があります。私はそのStoryBoardを持っています。最初のビューで StoryBoardどのように新しいビューにデータを送信
私が持っているこの方法は、私がプッシュセグエを使用しますが、今、私は、モーダルセグエを使用するときに働いたとsegue.destinationViewController
はNavigationControllerではなく、私のTableViewController
各ナビゲーションコントローラには、提示されたコントローラの配列があります。同様にあなたのコントローラーが(今示されている)上にある場合は、取得するには、このコードを使用することができ、それnavigationController.topViewController
そうしないと、あなたが作成できるだけでなく、このコード
let navController: UINavigationViewController = segue. destinationViewController
for let controller in navController.viewControllers {
if let neededController = controller as? YourControllerType {
// your action
}
}
を使用して、すべてのコントローラを介して行くとあなたを取得する必要がありますあなたのコントローラを内部に格納するUIViewControllerのIBInspectableプロパティを持つカスタムセグエ。その後、あなたはあなたのセグをあなたのカスタムセグにキャストし、そのプロパティからあなたのコントローラーを得ることができます。
使用で中
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
}
ありがとうございます、すべての仕事 – MacSergey
よろしくお願いします! – Abdoelrhman