質問編集履歴
1
ご回答いただいた内容に沿って修正いたしました。
title
CHANGED
File without changes
|
body
CHANGED
@@ -95,4 +95,55 @@
|
|
95
95
|
return dataList
|
96
96
|
}
|
97
97
|
}
|
98
|
+
```
|
99
|
+
|
100
|
+
*コントローラークラスのAPIメソッド呼び出し箇所を修正*
|
101
|
+
|
102
|
+
```Swift
|
103
|
+
//写真を撮影した後
|
104
|
+
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) {
|
105
|
+
|
106
|
+
if let pickedImage = info[.editedImage] as? UIImage {
|
107
|
+
|
108
|
+
//イメージをbase64にエンコードする
|
109
|
+
let imageData = pickedImage.pngData()! as NSData
|
110
|
+
let imageString = imageData.base64EncodedString(options: .lineLength64Characters)
|
111
|
+
|
112
|
+
var dataList = Util.returnData(image:imageString, completion: {
|
113
|
+
result in
|
114
|
+
print(result.data1)←値が表示されない
|
115
|
+
//商品リストへ遷移する
|
116
|
+
picker.dismiss(animated: true, completion: nil)←画面遷移しない
|
117
|
+
})
|
118
|
+
}
|
119
|
+
```
|
120
|
+
*UtilクラスのAPI呼び出し箇所の修正*
|
121
|
+
```Swift
|
122
|
+
class Util{
|
123
|
+
|
124
|
+
class func returnData(image:String), completion: @escaping (DataList) -> Void) {
|
125
|
+
//インスタンスを用意しておく
|
126
|
+
var dataList = DataList()
|
127
|
+
|
128
|
+
//JSONデータを取得する
|
129
|
+
session.dataTask(with: request) { (data, response, error) in
|
130
|
+
if error == nil, let data = data, let response = response {
|
131
|
+
|
132
|
+
let jsonData = try! JSONSerialization.jsonObject(with: data, options: JSONSerialization.ReadingOptions.allowFragments) as? [String: [String:Any]]
|
133
|
+
|
134
|
+
if let data = jsonData?["hits"] {
|
135
|
+
|
136
|
+
let data1 = data["data1"] as! String
|
137
|
+
let data2 = data["data2"] as! String
|
138
|
+
let data3 = data["data3"] as! String
|
139
|
+
//取得した値を格納する
|
140
|
+
dataList = DataList(data1,data2,data3)
|
141
|
+
}
|
142
|
+
} else {
|
143
|
+
// API通信失敗
|
144
|
+
print(error as Any)
|
145
|
+
}
|
146
|
+
}.resume()
|
147
|
+
}
|
148
|
+
}
|
98
149
|
```
|