お世話になっております。現在、TabBarを使った値渡しを実装したいと考えております。
調べていたところ、下記記事を見つけました。
https://teratail.com/questions/117523
実装したい処理がほとんど同じなので、参考にしたいのですが、
import UIKit class ViewController: UITabBarController { override func viewDidLoad() { super.viewDidLoad() if let nc = self.viewControllers?[0] as? UINavigationController, let vc = nc.viewControllers[0] as? FirstViewController { vc.delegate = self } } } // FirstViewControllerの保存ボタンアクションを受け取る extension ViewController: FirstDelegate { func saveButtonTapped(text: String) { if let nc = self.viewControllers?[1] as? UINavigationController, let vc = nc.viewControllers[0] as? SecondViewController { vc.savedString = text self.selectedIndex = 1 } } }
にある、
if let nc = self.viewControllers?[0] as? UINavigationController, let vc = nc.viewControllers[0] as? FirstViewController{...
if let nc = self.viewControllers?[1] as? UINavigationController, let vc = nc.viewControllers[0] as? SecondViewController...
というのはどのような意味をしているのでしょうか?
if let はnilを防ぐもの?、as? はダウンキャスト?かと思っていますが、一連の内容がわかりません。
どうかよろしくお願いいたします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/05/14 03:14
退会済みユーザー
2020/05/14 14:45
2020/05/14 15:05
退会済みユーザー
2020/05/14 15:19