回答編集履歴

2

printを修正

2019/10/26 02:40

投稿

hameji
hameji

スコア1380

test CHANGED
@@ -88,17 +88,17 @@
88
88
 
89
89
  case is BViewController:
90
90
 
91
- print("B")
91
+ print("From ADetail, show B")
92
92
 
93
93
  // ここに値を書き換えるトランザクションを記入し、トランザクションがかえってきたら、tableViewにreloadをかけること
94
94
 
95
- return false
95
+ return true
96
96
 
97
97
  default:
98
98
 
99
- print("else")
99
+ print("From else, show B")
100
100
 
101
- return false
101
+ return true
102
102
 
103
103
  }
104
104
 

1

情報追加

2019/10/26 02:40

投稿

hameji
hameji

スコア1380

test CHANGED
@@ -29,3 +29,89 @@
29
29
  もし、それでも1月が取得できていないのでしたら、取得の方法(self.ref)がおかしいということで、
30
30
 
31
31
  再度googleの公式ドキュメントを見てみる必要があると思います。
32
+
33
+
34
+
35
+
36
+
37
+ 以下、2019/10/26修正
38
+
39
+ ==========================================================================
40
+
41
+
42
+
43
+ よくわかりませんが、どうしてもそのようなタイミングがいいということみたいですね。
44
+
45
+ TabBarをクリックした時にしたいということなので、
46
+
47
+ TabBarをcustom classでラップして、
48
+
49
+ その条件の時に値を書き換えるようにする必要があります。
50
+
51
+
52
+
53
+ [ここ](https://qiita.com/homyu/items/298fb31c159a4cc75fcf#%E3%82%BF%E3%83%96%E3%82%92%E3%82%BF%E3%83%83%E3%83%97%E3%81%97%E3%81%9F%E6%99%82%E3%81%AB%E3%83%A2%E3%83%BC%E3%83%80%E3%83%AB%E3%82%92%E8%A1%A8%E7%A4%BA%E3%81%99%E3%82%8B)を参考に書いて見ました。
54
+
55
+
56
+
57
+ タイミングの取得はバッチしできることをサンプルを作成して確認しております。
58
+
59
+ ```Swift
60
+
61
+ import UIKit
62
+
63
+
64
+
65
+ class CustomTabBarController: UITabBarController, UITabBarControllerDelegate {
66
+
67
+
68
+
69
+ override func viewDidLoad() {
70
+
71
+ super.viewDidLoad()
72
+
73
+ self.delegate = self
74
+
75
+ }
76
+
77
+
78
+
79
+ func tabBarController(_ tabBarController: UITabBarController, shouldSelect viewController: UIViewController) -> Bool {
80
+
81
+ let naviCon = tabBarController.viewControllers![0] as! UINavigationController
82
+
83
+ let presentView = naviCon.visibleViewController
84
+
85
+ if presentView is ADetailViewController {
86
+
87
+ switch viewController {
88
+
89
+ case is BViewController:
90
+
91
+ print("B")
92
+
93
+ // ここに値を書き換えるトランザクションを記入し、トランザクションがかえってきたら、tableViewにreloadをかけること
94
+
95
+ return false
96
+
97
+ default:
98
+
99
+ print("else")
100
+
101
+ return false
102
+
103
+ }
104
+
105
+ }
106
+
107
+ return true
108
+
109
+ }
110
+
111
+ }
112
+
113
+ ```
114
+
115
+
116
+
117
+ ![イメージ説明](557c93330d413201abef3383b6d2df13.png)