2016-12-05 2 views
0

私はSwiftのドキュメントでAFNetworkingを使用しようとしています(これは必要な制約です。そうでなければAlamoFireを学びたいです)。特にAFNetworkingコールでObj-CブロックをSwiftに翻訳する

- (nullable AFHTTPRequestOperation *)GET:(NSString *)URLString 
        parameters:(nullable id)parameters 
         success:(nullable void (^)(AFHTTPRequestOperation *operation, id responseObject))success 
         failure:(nullable void (^)(AFHTTPRequestOperation * __nullable operation, NSError *error))failure; 

、私は障害ブロックのために何をすべきかをクリアしていないよ。私は、スウィフトに非常に新しい誰かのように、ここで何をするかで苦労しています。

manager.GET(
"random_url", 
parameters: [...random parameters...], 
success: { (operation: AFHTTPRequestOperation!, 
responseObject: AnyObject!) in 
print("JSON: " + responseObject.description) 
}, 
failure: { (operation: AFHTTPRequestOperation!, error: NSError!) in 
     print("there was an error") 
} 
) 

は私failureブロックのエラーを取得しています:

Cannot convert value of type '() ->()' to expected argument type '((AFHttpRequestOperation?, NSError) -> Void)?'ここに私の試みです。

私が上に間違っている場所を教えていただければ幸いです。どうもありがとう。

+0

@PEEJWEEJあなたは私のメッセージを読んだことがありますか?その選択は私のコントロールではありません。 – helloB

答えて

0

私はそれがエラーから明確ではないですけど、スウィフト3に問題を私たちのスウィフト2アプリを移植するときに、私は同様の問題を持っていました、少なくとも私たちにとっては、閉鎖のパラメタに関するものでした。強制的にアンラップされたオプションの代わりに、オプションのタイプとして指定します。言い換えれば、試してみてください:

また、このエラーは問題ではないようですが、これは3か月前に実行したものです。

+0

ありがとう!それはまさに問題でした。 – helloB

+1

それが助けてくれてうれしい!私が問題に対処したときにそれがいかにイライラしたかを知っています。 –

0

あなたが「中」を逃したようだ:

failure: { (operation: AFHTTPRequestOperation!, error: NSError!) in 
     print("there was an error") 
} 
+0

この提案をありがとう。私はそのコード修正を行いましたが、エラーメッセージはコードクリーンの後でも同じままです。 – helloB

関連する問題