2017-06-22 9 views
1

all。 私はiOSとalamofireについて学びます。Alamofire4のステータスコード

ステータスコードに誤りがあります。

case 200...299: ->エラーコード:私はそれが.Successを小文字に変更すると強制

に「のInt」と入力するタイプ「CountableClosedRange」の値を変換できません: - 列挙型ケース「成功」「のInt型では見られませんか>? '

問題は何ですか? TT

これはコーディングです。

override func viewDidLoad() { 
     super.viewDidLoad() 
     // Do any additional setup after loading the view, typically from a nib. 
     let params = ["username": "ryulstory", "password": "123!"] 
     var rTest = Alamofire.request(self.authLoginUrl, method: .post, parameters: params) 
      .responseJSON{ response in 
       print(response.request) // original URL request 
       print(response.response) // URL response 
       print(response.data)  // server data 
       print(response.result) // result of response serialization 

       let statusCode = response.response?.statusCode 

       switch statusCode { 
       case 200 ... 299 : 
        let jsonData = JSON(response.data!) 
        let token = jsonData["token"].string! 
        print(token) 

        self.keychain["token"] = token 
       } 
         } 

    } 
+0

ステータスコードが200になり、API呼び出しが正常に完了したことを意味します。正確に何をする必要があるのか​​明確にする – Suryakant

+0

@Suryakantはい、そうです –

答えて

1

エラーが誤解を招くstatusCodeNil-Coalescing Operatorを使用して、オプションのラップその値であり、あなたはすべて行くように設定するオプションですresponseのように、あなたが直面している問題は、オプションの連鎖です。

let statusCode = response.response?.statusCode ?? 0 

switch statusCode { 
    case 200 ... 299 : 
     let jsonData = JSON(response.data!) 
     let token = jsonData["token"].string! 
     print(token) 
     self.keychain["token"] = token 
}