1. ホーム
  2. ios

ナビゲーションコントローラーで `prepareForSegue` にデータをセットする

2023-10-07 06:48:07

質問

SwiftでiOSアプリを開発しています。

あるビューから別のビューにデータを送りたいのですが、それには prepareForSegue 関数を使用します。

しかし、私のターゲットビューの前には、ナビゲーションコントローラがあるので、うまくいきません。ナビゲーションコントローラに含まれるVCにデータを設定するにはどうしたらよいでしょうか?

どのように解決するのですか?

prepareForSegue は対象のナビゲーションコントローラにアクセスし、次にそのトップにアクセスします。

let destinationNavigationController = segue.destination as! UINavigationController
let targetController = destinationNavigationController.topViewController

対象のコントローラから、そのビューにアクセスしたり、データを渡したりすることができます。

古い-今はもうない-SwiftとUIKitのバージョンでは、コードは少し異なっていました。

let destinationNavigationController = segue.destinationViewController as UINavigationController
let targetController = destinationNavigationController.topViewController