質問編集履歴
3
リクエストの追加
test
CHANGED
File without changes
|
test
CHANGED
@@ -47,6 +47,40 @@
|
|
47
47
|
var gender: String
|
48
48
|
|
49
49
|
var age: Int
|
50
|
+
|
51
|
+
}
|
52
|
+
|
53
|
+
//jsonデータの取得
|
54
|
+
|
55
|
+
public func getJson() {
|
56
|
+
|
57
|
+
|
58
|
+
|
59
|
+
let url = "該当のurl"
|
60
|
+
|
61
|
+
let headers: HTTPHeaders = ["Content-Type": "application/json"]
|
62
|
+
|
63
|
+
Alamofire.request(url, method: .get, encoding: URLEncoding(destination: .queryString), headers: headers).responseJSON {response in
|
64
|
+
|
65
|
+
guard let data = response.data else {
|
66
|
+
|
67
|
+
return
|
68
|
+
|
69
|
+
}
|
70
|
+
|
71
|
+
do {
|
72
|
+
|
73
|
+
let jsonData = try JSONDecoder().decode([jsonModel].self, from: data)
|
74
|
+
|
75
|
+
|
76
|
+
|
77
|
+
} catch let error {
|
78
|
+
|
79
|
+
print("Error: (error)")
|
80
|
+
|
81
|
+
}
|
82
|
+
|
83
|
+
}
|
50
84
|
|
51
85
|
}
|
52
86
|
|
2
ソース修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -68,7 +68,9 @@
|
|
68
68
|
|
69
69
|
if let _mergeJsonData = mergeJsonData[data.name]!["value"] {
|
70
70
|
|
71
|
+
print(mergeJsonData[data.name]!["value"]!) //この時点では0が出力される
|
72
|
+
|
71
|
-
tmp = cast(value: mergeJsonData[data.name]!["value"] as!
|
73
|
+
let tmp = cast(value: mergeJsonData[data.name]!["value"] as! Int)! //nilエラー
|
72
74
|
|
73
75
|
mergeJsonData[data.name]!["value"] = tmp + data.value
|
74
76
|
|
1
ソースコードを一部編集しました
test
CHANGED
File without changes
|
test
CHANGED
@@ -56,35 +56,31 @@
|
|
56
56
|
|
57
57
|
for data in jsonData {
|
58
58
|
|
59
|
-
if
|
59
|
+
if let _mergeJsonData = mergeJsonData[data.name] {
|
60
60
|
|
61
|
-
|
61
|
+
mergeJsonData[data.name] = mergeJsonData[data.name]
|
62
62
|
|
63
|
-
|
63
|
+
} else {
|
64
64
|
|
65
|
-
|
65
|
+
mergeJsonData.updateValue(["value": 0, "last_value": 0, "number": 0], forKey: data.name)
|
66
66
|
|
67
|
-
|
67
|
+
}
|
68
68
|
|
69
|
-
|
69
|
+
if let _mergeJsonData = mergeJsonData[data.name]!["value"] {
|
70
70
|
|
71
|
-
|
71
|
+
tmp = cast(value: mergeJsonData[data.name]!["value"] as! Double)!
|
72
72
|
|
73
|
-
|
73
|
+
mergeJsonData[data.name]!["value"] = tmp + data.value
|
74
74
|
|
75
|
-
|
75
|
+
} else {
|
76
76
|
|
77
|
-
} else {
|
78
|
-
|
79
|
-
|
77
|
+
mergeJsonData[data.name]!.updateValue(data.value, forKey: "value")
|
80
|
-
|
81
|
-
}
|
82
|
-
|
83
|
-
|
84
78
|
|
85
79
|
}
|
86
80
|
|
87
81
|
}
|
82
|
+
|
83
|
+
|
88
84
|
|
89
85
|
private func cast(value: Any) -> Double? {
|
90
86
|
|