質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Q&A

解決済

1回答

849閲覧

UITabbarControllerについて 遷移先から遷移元に戻る時、現在タブだけでなく他のタブのviewController内のメソッドを呼び出したい

okkyu

総合スコア18

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

0グッド

0クリップ

投稿2020/12/13 15:23

UITabbarControllerについてなのですが、ナビゲーションコントローラーで遷移して遷移元に戻る時に、遷移元の現在タブのviewController内のメソッドを呼び出すという方法は下記のコードでできたのですが、他のタブのviewControllerのメソッドも同時に呼び出したいのですが、知識不足で手詰まりしております。何か良い方法はないでしょうか?教えていただけましたら幸いです。

swift

1let tab = self.presentingViewController as! UITabbarController 2let nav = tab.selectedViewController as! UINavigationController 3let vc = navi.viewControllers[nav.viewControllers.count-1]as? ViewController 4vc?.fetch() 5self.dismiss(animated: true, completion: nil)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

以下の書き方でなんとかなりました。

swift

1 let tab = self.presentingViewController as! UITabbarController 2 tab.viewControllers?.forEach({ (viewController) in 3 let nav = viewController as! UINavigationController 4 let vc = nav.viewControllers[nav.viewControllers.count-1] 5 if vc is ViewControllerA{ 6 let vcA = vc as! ViewControllerA 7 vcA.fetch() 8 self.dismiss(animated: true, completion: nil) 9 }else if vc is ViewControllerB{ 10 let vcB = vc as! ViewControllerB 11 vcB.fetch() 12 self.dismiss(animated: true, completion: nil) 13 } 14 }) 15

投稿2020/12/14 04:01

編集2020/12/14 04:07
okkyu

総合スコア18

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問