質問編集履歴

2

下部にTask.swiftを追加させていただきました。ご指摘ありがとうございます!

2018/11/09 02:29

投稿

YuukiIbata
YuukiIbata

スコア15

test CHANGED
File without changes
test CHANGED
@@ -52,6 +52,10 @@
52
52
 
53
53
 
54
54
 
55
+ FirestoreTaskRepository.swift
56
+
57
+
58
+
55
59
  ```Swift4.0
56
60
 
57
61
  import Foundation
@@ -182,6 +186,142 @@
182
186
 
183
187
 
184
188
 
189
+ Task.swift
190
+
191
+
192
+
193
+ ```Swift4.0
194
+
195
+
196
+
197
+ import UIKit
198
+
199
+
200
+
201
+ class Task: Codable {
202
+
203
+ var id: String?
204
+
205
+ var title: String?
206
+
207
+ var note: String?
208
+
209
+ var latitude: Double?
210
+
211
+ var longitude: Double?
212
+
213
+
214
+
215
+ enum CodingKeys: String, CodingKey {
216
+
217
+ case title
218
+
219
+ case note
220
+
221
+ case latitude
222
+
223
+ case longitude
224
+
225
+ }
226
+
227
+
228
+
229
+ init(title _title: String) {
230
+
231
+ self.title = _title
232
+
233
+ }
234
+
235
+
236
+
237
+ init(data: [String: Any]) {
238
+
239
+ if let title = data["title"] as? String {
240
+
241
+ self.title = title
242
+
243
+ }
244
+
245
+ if let note = data["note"] as? String {
246
+
247
+ self.note = note
248
+
249
+ }
250
+
251
+ if let latitude = data["latitude"] as? Double {
252
+
253
+ self.latitude = latitude
254
+
255
+ }
256
+
257
+ if let longitude = data["longitude"] as? Double {
258
+
259
+ self.longitude = longitude
260
+
261
+ }
262
+
263
+ }
264
+
265
+
266
+
267
+ required init(from decoder: Decoder) throws {
268
+
269
+ let container = try decoder.container(keyedBy: CodingKeys.self)
270
+
271
+ self.title = try container.decode(String.self, forKey: .title)
272
+
273
+ self.note = try container.decode(String.self, forKey: .note)
274
+
275
+ self.latitude = try container.decode(Double.self, forKey: .latitude)
276
+
277
+ self.longitude = try container.decode(Double.self, forKey: .longitude)
278
+
279
+ }
280
+
281
+ func encode(to encoder: Encoder) throws {
282
+
283
+ var container = encoder.container(keyedBy: CodingKeys.self)
284
+
285
+ try container.encode(title, forKey: .title)
286
+
287
+ try container.encode(note, forKey: .note)
288
+
289
+ try container.encode(latitude, forKey: .latitude)
290
+
291
+ try container.encode(longitude, forKey: .longitude)
292
+
293
+ }
294
+
295
+
296
+
297
+ func toData() -> [String: Any] {
298
+
299
+ return [
300
+
301
+ "title": self.title!,
302
+
303
+ "note": self.note!,
304
+
305
+ "latitude": self.latitude!,
306
+
307
+ "longitude": self.longitude!
308
+
309
+ ]
310
+
311
+ }
312
+
313
+
314
+
315
+ }
316
+
317
+
318
+
319
+
320
+
321
+ ```
322
+
323
+
324
+
185
325
  ### 試したこと
186
326
 
187
327
 

1

画像に注釈を入れました(画像が大きくて申し訳ございません…)

2018/11/09 02:29

投稿

YuukiIbata
YuukiIbata

スコア15

test CHANGED
File without changes
test CHANGED
@@ -24,11 +24,25 @@
24
24
 
25
25
 
26
26
 
27
+ 修正、削除前です
28
+
27
29
  ![修正、削除前](c772518402f907a2eb9a853e8085fed5.png)
30
+
31
+
32
+
33
+ 削除後も消えておりません
28
34
 
29
35
  ![削除後も消えておりません](095904b89bf31e062d003b1129b700f4.png)
30
36
 
37
+
38
+
39
+ 修正しようとすると…
40
+
31
41
  ![修正画面](5c811b196ca1f055ed5ab114ae9fca03.png)
42
+
43
+
44
+
45
+ なぜか増えます
32
46
 
33
47
  ![修正するとなぜか増えます](15d8c0670f1af320cbefc3257a0caf0c.png)
34
48