2016-10-05 19 views
1

REST APIからデータを取得するのにAlamofireを使用します。Swift Alamofireチェック待ちタイムアウトとプットエラー

   Alamofire.request(.GET, url) 
       .authenticate(user: user, password: password) 
       .responseString { response in 
        if (response.result.error != nil) 
        { 
         show_error() 
        } 
       } 
       .response { (request, response, data, error) in ... 

インターネットに接続していないと、エラーが表示されます。そして、ユーザーがリクエスト後に3秒以上の応答を待っているとエラーが出ます。

どのように私はそれを作る猫ですか? Alamofireでのタイムアウトの使用方法

答えて

2
Alamofire.SessionManager.default.session.configuration.timeoutIntervalForRequest = 3000 

これはすべてのリクエストに適用されます。あなたが唯一の特定の要求のタイムアウトを設定する場合:

let sessionManager = Alamofire.SessionManager.default 
sessionManager.configuration.timeoutIntervalForRequest = 3000 
sessionManager.request(.GET, url) 
      .authenticate(user: user, password: password) 
      .responseString { response in 
       if (response.result.error != nil) 
       { 
        show_error() 
       } 
      } 
      .response { (request, response, data, error) in ... 

あなたはREADMEファイルにセッションマネージャについての詳細を見つけることができます...

+1

それはAlamofire 4.0用ですが、私はAlamofireについて3.0 を使用3.0:Alamofire.Manager.sharedInstance.session.configuration.timeoutIntervalForRequest = 300 コードを入力する場所を教えてください。私はこの機能を実行するために3秒以上のタイムアウトが必要です:show_error() – Dim

+0

タイムアウトは間違いなく間違いなく行われます。だからあなたは他のエラーと同じようにそれを1つのように扱います。 – ezcoding

+0

どこにこのコードを追加する必要がありますか?私はviewDidLoadで追加し、それは私のために動作しません。 – Dim

関連する問題