2016-04-12 6 views
1

自分のデバイス上でアプリケーションを実行しようとすると、私のスピーディなコードに問題があります。私はシミュレータ上でそれを実行するとすべてが問題ありませんが、私のデバイス上で実行するときに2つのエラーが発生します。Swift2デバイス上で実行したときに下付き文字をあいまいに使用する

最後の2行で2つのエラーが発生し、両方の行で「あいまいな使用」と表示されます。それは、任意の助けのためであれば、最新のXcodeを実行している

イム...

let requestURL: NSURL = NSURL(string: "The webpage im getting info from")! 
    let urlRequest: NSMutableURLRequest = NSMutableURLRequest(URL: requestURL) 
    let session = NSURLSession.sharedSession() 
    let task = session.dataTaskWithRequest(urlRequest) { 
     (data, response, error) -> Void in 



     let httpResponse = response as! NSHTTPURLResponse // method that access information 

     let statusCode = httpResponse.statusCode 

     if (statusCode == 200) { 
      do{ 

       let json = try NSJSONSerialization.JSONObjectWithData(data!, options:.AllowFragments) 


       // naming the two variables from json 
       if let counter = json["counts"] { 

      // It gets an error on both the peopleIn and peopleOut 
        let peopleIn = counter! [0] 
        let peopleOut = counter! [1] 
+0

カウンタjson ["counts"]が適切な配列構造であることを希望します。 –

答えて

0

json["counts"]戻りAnyObjectは、コンパイラは、配列ことになっていることは考えていません。期待されるタイプが[AnyObject]は、その型にキャストよりも、より具体的であれば

は、少なくとも

if let counter = json["counts"] as? [AnyObject] { 

、予期される型にオブジェクトをキャストします。

if letが成功した場合、関連する変数はオプションではありません。感嘆符は必要ありません。

let peopleIn = counter[0] 
+0

ありがとうございました。それは私がデバイス上でアプリケーションを実行するのに役立ちましたが、今、それは私にエラーが表示されます: "Jsonのエラー:エラードメイン= NSCocoaErrorDomainコード= 3840"無効な値の文字0。 "UserInfo = {NSDebugDescription =文字0 。} " – Jesper

+0

JSONのフォーマットが無効であることを意味します。 – vadian

+0

これはシミュレータ上では完全に動作しますが、デバイス上では動作しません。どのようにシミュレータは良いJSONを得ることができますが、デバイスを取得できませんか?彼らは同じではないでしょうか? – Jesper

関連する問題