質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Swift 2

Swift 2は、Apple社が独自に開発を行っている言語「Swift」のアップグレード版です。iOSやOS X、さらにLinuxにも対応可能です。また、throws-catchベースのエラーハンドリングが追加されています。

Q&A

解決済

2回答

1261閲覧

【swift】'Request' has no member 'responseJSON'

akachachi

総合スコア38

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Swift 2

Swift 2は、Apple社が独自に開発を行っている言語「Swift」のアップグレード版です。iOSやOS X、さらにLinuxにも対応可能です。また、throws-catchベースのエラーハンドリングが追加されています。

0グッド

0クリップ

投稿2017/02/21 10:59

編集2017/02/21 11:48

###前提・実現したいこと

swift3でAPIと通信するため,Alamofireを用いていますが,

class ApiLogic { class func get(path: String, params: [String: AnyObject]) -> Request { return Alamofire.request(ApiLogic.baseURL + path, method: .get, parameters: params, encoding: JSONEncoding.default, headers: headers) } }

このようにラッパーを作って,他の場所で get を使おうとしたところ,
タイトルに示すようなエラーが出ました.

Swift2まではこれで動いていたのですが,
どのようにすればいいでしょうか?


エラー箇所

class TestLogic: ApiLogic { class func requestList(success: @escaping ([AssetModel]) -> Void, failure: @escaping ErrorHandler) { ApiLogic.get(path: endpoint, params: [:]).responseJSON { res in ←この部分 } } }

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

domonr

2017/02/21 11:37

エラー箇所はどこでしょうか?
akachachi

2017/02/21 11:47

エラー箇所を追加しました.よろしくお願いします.
guest

回答2

0

自己解決

Request型ではなくDataRequest型を指定しなければならなかった.

投稿2017/02/21 12:06

akachachi

総合スコア38

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

'Request' has no member 'responseJSON'
リクエスト は responseJSON を 持ってないよ! ってことですね。

getメソッドの返り値であるrequestクラスはresponceJSONメソッドをもってないっぽいですね。

エラーメッセージをgoogle翻訳で変換するだけでもわかったりするので、まずは翻訳してみるといいかもですね

投稿2017/02/21 11:54

domonr

総合スコア263

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

akachachi

2017/02/21 11:56

返り値を `Request` 型にしているからダメなのでしょうが, ` Alamofire.request(~` の型ってなにかわかりますか?
domonr

2017/02/21 12:00

RequestクラスにresponceJSONというfuncが存在しないのではないでしょうか
akachachi

2017/02/21 12:05

Alamofire.requestはDataRequest型でしたありがとうございました
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問