2016-11-12 8 views
0

次のコードスニペットでは、API呼び出しからいくつかのInt値を取得しています。JSON(Swift)を使用して取得されたストアドInt/Stringから角括弧[]を削除するにはどうすればよいですか?

これらの値を使用して、アプリでいくつかのUILablesを更新したいと考えています。

if let dict = json?["Stats"] as? [String:AnyObject] { 
    self.tempTotalWins = [dict["totalWins"]! as! Int] 
    self.tempTotalDraws = [dict["totalDraws"]! as! Int] 
    self.totalWins = String(describing: self.tempTotalWins) 
    self.totalDraws = String(describing: self.tempTotalDraws) 
    print (self.tempTotalWins) 
    self.wonLabel.text = self.totalWins! 
    self.drawnLabel.text = self.totalDraws! 
} 

これは、現在[1][3]としてラベルを出力し、更新しています。

[ ]を削除して番号13を出力するにはどうすればよいですか?

+0

これで、オプション(1)が印刷されました。印刷を解除するには(self.tempTotalWins!) – RDowns

+1

括弧を削除するだけです! '... TotalWins = - [dict ... as! Int] < - 'であり、感嘆符が多すぎます。 – vadian

+0

配列に値を入れたくない場合は、なぜそれらを配列に入れていますか? – Paulw11

答えて

1

角括弧はArrayとして注目されている、それはあなたがIntの配列としてself.tempTotalWinsを初期化した[dict["totalWins"]! as! Int]この行では、自分で作成されます。あなたが最初のオブジェクトだけを望むなら、あなたはそれをこのように得ることができます。

if let total_Wins = dict["totalWins"] as? Int, let total_Draws = dict["totalDraws"] as? Int 
    self.totalWins = String(total_Wins) 
    self.totalDraws = String(total_Draws) 
} 
+0

の入力をお寄せいただきありがとうございます。しかし、私はこの致命的なエラーが発生します:オプション値をアンラッピングしている間に予期せずnilが見つかりました – RDowns

+0

'print(self.totalWins!)'のときにlet文が失敗しました – RDowns

+0

コードによれば、 'totalWins'配列ではなく単一の 'Int'です。そうでなければ、コードはすでに2行目でクラッシュします。 – vadian

関連する問題