質問編集履歴
6
あ
test
CHANGED
File without changes
|
test
CHANGED
@@ -246,6 +246,10 @@
|
|
246
246
|
|
247
247
|
実際のアプリに近づけた構成
|
248
248
|
|
249
|
+
__detail__で値を増やし,__detail__から__Second__へ画面遷移をした際に__Firebase__への書き込みと書き出しを行う.
|
250
|
+
|
251
|
+
その際に問題が発生する.
|
252
|
+
|
249
253
|
![イメージ説明](0463f40ce0249822503ccf9a4278d33b.png)
|
250
254
|
|
251
255
|
|
5
a
test
CHANGED
File without changes
|
test
CHANGED
@@ -246,7 +246,7 @@
|
|
246
246
|
|
247
247
|
実際のアプリに近づけた構成
|
248
248
|
|
249
|
-
![イメージ説明](
|
249
|
+
![イメージ説明](0463f40ce0249822503ccf9a4278d33b.png)
|
250
250
|
|
251
251
|
|
252
252
|
|
4
a
test
CHANGED
File without changes
|
test
CHANGED
@@ -128,7 +128,7 @@
|
|
128
128
|
|
129
129
|
### コード2
|
130
130
|
|
131
|
-
__
|
131
|
+
__SecondViewController.swift__
|
132
132
|
|
133
133
|
```Swift
|
134
134
|
|
3
a
test
CHANGED
File without changes
|
test
CHANGED
@@ -104,6 +104,8 @@
|
|
104
104
|
|
105
105
|
MutableData.value = value + self.value
|
106
106
|
|
107
|
+
self.value = 0
|
108
|
+
|
107
109
|
}
|
108
110
|
|
109
111
|
return TransactionResult.success(withValue: MutableData)
|
2
あ
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
### やりたいこと
|
2
2
|
|
3
|
-
__FirstView__から__
|
3
|
+
__FirstView__から__SecondView__へ画面遷移した時に,__Firebase__の値を更新し,その値を__Firebase__から読み取って__SecondView__で表示する.
|
4
4
|
|
5
5
|
|
6
6
|
|
@@ -18,21 +18,9 @@
|
|
18
18
|
|
19
19
|
0. **写真3**のように__Realtime Database__を構成する.
|
20
20
|
|
21
|
-
0. プロジェクトを実行すると**写真4**のようになる.
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
### 問題点
|
30
|
-
|
31
|
-
1月が__Cell__に表示されない.
|
32
|
-
|
33
|
-
インクリメントする月を変えても,そのインクリメントした月が表示されない.
|
34
|
-
|
35
|
-
|
21
|
+
0. プロジェクトを実行すると__FirestView__では__print(Array)__が実行されるが,__SecondView__へ画面遷移を行うと,__SecondView__では__print("error")__が実行される.
|
22
|
+
|
23
|
+
|
36
24
|
|
37
25
|
|
38
26
|
|
@@ -54,6 +42,8 @@
|
|
54
42
|
|
55
43
|
var ref: DatabaseReference!
|
56
44
|
|
45
|
+
var value: Int = 0
|
46
|
+
|
57
47
|
|
58
48
|
|
59
49
|
|
@@ -66,7 +56,33 @@
|
|
66
56
|
|
67
57
|
|
68
58
|
|
69
|
-
self.ref = Database.database().reference()
|
59
|
+
self.ref = Database.database().reference()
|
60
|
+
|
61
|
+
self.ref.observeSingleEvent(of: .value) { (DataSnapshot) in
|
62
|
+
|
63
|
+
guard let Array = DataSnapshot.value as? [String: Int] else {
|
64
|
+
|
65
|
+
print("error")
|
66
|
+
|
67
|
+
return
|
68
|
+
|
69
|
+
}
|
70
|
+
|
71
|
+
print(Array) //["値": 3]
|
72
|
+
|
73
|
+
}
|
74
|
+
|
75
|
+
}
|
76
|
+
|
77
|
+
|
78
|
+
|
79
|
+
|
80
|
+
|
81
|
+
|
82
|
+
|
83
|
+
@IBAction func increment(_ sender: UIButton) {
|
84
|
+
|
85
|
+
self.value += 1
|
70
86
|
|
71
87
|
}
|
72
88
|
|
@@ -82,11 +98,11 @@
|
|
82
98
|
|
83
99
|
|
84
100
|
|
85
|
-
self.ref.child("
|
101
|
+
self.ref.child("値").runTransactionBlock { (MutableData) -> TransactionResult in
|
86
|
-
|
102
|
+
|
87
|
-
if let
|
103
|
+
if let value = MutableData.value as? Int {
|
88
|
-
|
104
|
+
|
89
|
-
MutableData.value =
|
105
|
+
MutableData.value = value + self.value
|
90
106
|
|
91
107
|
}
|
92
108
|
|
@@ -120,15 +136,15 @@
|
|
120
136
|
|
121
137
|
|
122
138
|
|
123
|
-
class
|
139
|
+
class SecondViewController: UIViewController {
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
140
|
+
|
141
|
+
|
128
142
|
|
129
143
|
var ref: DatabaseReference!
|
130
144
|
|
145
|
+
|
146
|
+
|
131
|
-
|
147
|
+
@IBOutlet weak var label: UILabel!
|
132
148
|
|
133
149
|
|
134
150
|
|
@@ -140,56 +156,48 @@
|
|
140
156
|
|
141
157
|
super.viewDidLoad()
|
142
158
|
|
159
|
+
}
|
160
|
+
|
161
|
+
|
162
|
+
|
163
|
+
|
164
|
+
|
165
|
+
|
166
|
+
|
167
|
+
override func viewDidAppear(_ animated: Bool) {
|
168
|
+
|
169
|
+
super.viewDidAppear(animated)
|
170
|
+
|
143
171
|
|
144
172
|
|
145
|
-
self.ref = Database.database().reference()
|
173
|
+
self.ref = Database.database().reference()
|
146
174
|
|
147
175
|
self.ref.observeSingleEvent(of: .value) { (DataSnapshot) in
|
148
176
|
|
149
|
-
let
|
177
|
+
guard let Array = DataSnapshot.value as? [String: Int] else {
|
178
|
+
|
150
|
-
|
179
|
+
print("error") //error
|
180
|
+
|
151
|
-
self.
|
181
|
+
self.label.text = "error"
|
182
|
+
|
152
|
-
|
183
|
+
return
|
184
|
+
|
185
|
+
}
|
186
|
+
|
187
|
+
print(Array)
|
188
|
+
|
189
|
+
if let value = Array["値"] {
|
190
|
+
|
153
|
-
self.l
|
191
|
+
self.label.text = String(value)
|
192
|
+
|
193
|
+
}
|
154
194
|
|
155
195
|
}
|
156
196
|
|
157
197
|
}
|
158
198
|
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
|
166
|
-
|
167
|
-
return self.rank.count
|
168
|
-
|
169
|
-
}
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
|
178
|
-
|
179
|
-
let cell = tableView.dequeueReusableCell(withIdentifier: "listCell", for: indexPath)
|
180
|
-
|
181
|
-
cell.textLabel?.text = self.rank[indexPath.row].key
|
182
|
-
|
183
|
-
cell.detailTextLabel?.text = String(self.rank[indexPath.row].value)
|
184
|
-
|
185
|
-
return cell
|
186
|
-
|
187
|
-
}
|
188
|
-
|
189
199
|
}
|
190
200
|
|
191
|
-
|
192
|
-
|
193
201
|
```
|
194
202
|
|
195
203
|
|
@@ -202,7 +210,7 @@
|
|
202
210
|
|
203
211
|
__Main.storyboard__
|
204
212
|
|
205
|
-
![イメージ説明](
|
213
|
+
![イメージ説明](b556d6bd7c789bed0e46b403bae53457.png)
|
206
214
|
|
207
215
|
|
208
216
|
|
@@ -210,7 +218,7 @@
|
|
210
218
|
|
211
219
|
構成
|
212
220
|
|
213
|
-
![イメージ説明](
|
221
|
+
![イメージ説明](2fe1ef8042470fb495e5c6897b07e93e.png)
|
214
222
|
|
215
223
|
|
216
224
|
|
@@ -218,7 +226,7 @@
|
|
218
226
|
|
219
227
|
__Firebase__
|
220
228
|
|
221
|
-
![イメージ説明](
|
229
|
+
![イメージ説明](12e29600e2042f6db63aef3285dbd2f9.png)
|
222
230
|
|
223
231
|
|
224
232
|
|
@@ -226,7 +234,7 @@
|
|
226
234
|
|
227
235
|
デバイス上
|
228
236
|
|
229
|
-
![イメージ説明](
|
237
|
+
![イメージ説明](ba8ffee8295081efa4a631f03f5b2cc0.png)
|
230
238
|
|
231
239
|
|
232
240
|
|
@@ -234,6 +242,8 @@
|
|
234
242
|
|
235
243
|
### 写真5
|
236
244
|
|
245
|
+
実際のアプリに近づけた構成
|
246
|
+
|
237
247
|
![イメージ説明](8c0a5ccdb7e8bea6fcfd7965b02f80e9.png)
|
238
248
|
|
239
249
|
|
1
あ
test
CHANGED
File without changes
|
test
CHANGED
@@ -232,6 +232,14 @@
|
|
232
232
|
|
233
233
|
|
234
234
|
|
235
|
+
### 写真5
|
236
|
+
|
237
|
+
![イメージ説明](8c0a5ccdb7e8bea6fcfd7965b02f80e9.png)
|
238
|
+
|
239
|
+
|
240
|
+
|
241
|
+
|
242
|
+
|
235
243
|
|
236
244
|
|
237
245
|
### 環境
|