###前提・実現したいこと
classメソッド内にAlamofireでの通信を記載した際に、通信完了後に返り値を返却したい。
そもそもこの書き方に無理があるのか、別方法でできるのか。。。
###該当のソースコード
Swift
1class func search() -> JSON { 2 let param = ["count": 10000] 3 NetworkManager.sharedInstance.ApiManager().request("http://api.jp/api/api_search", method: .post, parameters: param, headers: header).responseJSON { response in 4 guard let object = response.result.value else { 5 print("Network -> Error") 6 return 7 } 8 let json = JSON(object) 9 } 10}
###試したこと
let json = JSON(object)
のあとにreturn json
を指定してみたが、
もちろん返り値を返すものではないためエラー
かと言ってNetworkManager.sharedInstance(以下略
の括弧外に変数を宣言し、
returnすると通信完了より先に処理されてしまうのでnil
が返ってしまいエラー
###補足情報(言語/FW/ツール等のバージョンなど)
・Xcode8.2.1
・Swift3
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/02/17 09:00 編集
2017/02/17 09:08
2017/02/17 09:12
2017/02/17 09:27
2017/02/17 09:29