2017-01-28 11 views
-3

スウィフト私は、サーバーから次のようなJSON応答を取得しようとしている:あいまいな使用 - 2

[{"m", "OK"}] 

そして私は、私はシミュレータでプレイすると、完璧に動作し、次のコードを使用し、私はアップルストアにアップロードするアーカイブを生成するとき、それは「添字」の

あいまいな使用

func funcao(completo:() -> Void, falha:() -> Void){ 
    let parametros = [ 
     "operacao" : "update", 
     "tabela" : "1" 
    ] 

    Alamofire.request(.POST, UrlServerPOST, parameters: parametros) 
     .responseJSON { response in 

      if let JSON = response.result.value { 
       print("JSON: \(JSON)") 

       if let item = JSON[0] as? [String: String] { //Error here 
        if let resp = item["m"] as? String { 
         print(resp) 
         if resp == "OK" { 
          completo() 
         } 
         else 
         { 
          falha() 
         } 
        } 
        else 
        { 
         falha() 
        } 
       } 
       else 
       { 
        falha() 
       } 
      } 
    } 
} 
0123エラーが発生しました

このエラーを解決するためにいくつかのことを試みましたが、何も解決しませんでした。誰でもこれを解決する方法を知っていますか?

+0

JSONに添字演算子がありますか?または 'JSON'を' [[String:String]] 'に最初にキャストしようとしますか? – luk2302

+0

[[String:String]]が私のために動作しませんでした@ luk2302 –

+0

'response.result.value'の型をコンパイラに伝えます – vadian

答えて

1

すべてのJSONオブジェクトは、辞書または配列です。 Swiftにキー(辞書)または整数インデックス(配列)を添字にする必要があります。ここにはJSONのような配列があります。この行を変更してください:

if let JSON = response.result.value as? [AnyObject] { 
    // ... 
} 
関連する問題