次のコードスニペットでは、データベースからデータを取得するAPIを呼び出しています。なぜこの文字列がIntegerに変換されるとNilとして出力されますか?
let json = try JSONSerialization.jsonObject(with: data!, options: .allowFragments) as? [String:AnyObject]
if let dict = json?["personalLeagueStats"] as? [String:AnyObject] {
if let dataMostWinsAgainst = dict["leaguePersonalMostWinsAgainst"] as? [[String : AnyObject]] {
let newdictMostWinsAgainst = dataMostWinsAgainst.first!
let tempMostWinsAgainstUserName = newdictMostWinsAgainst ["member"] as? String
let tempMostWinsAgainstNumber = newdictMostWinsAgainst ["winPercentage"] as? String
let temp2number = Int(tempMostWinsAgainstNumber!)
print (temp2number)
self.mostWinsAgainstPlayer.text = tempMostWinsAgainstUserName
}
}
私は私のSQL文は私が私が欲しいスウィフトにおけるので、割合としての私のアプリでは、この値を表示する例えば0.67
の値を返すよう整数として格納されていると信じていたデータ(winPercentage
)私はSwiftを勉強しようとしているので、なぜPHPでこれをしないのかと聞かないでください。将来の参照のためのプロセスを知りたいと思います。
winPercentage
の値が格納されている場合のスニペットは、tempMostWinsAgainstNumber
の文字列として格納されていることは理解できます。
これを整数に変換して(計算を実行して)値を出力すると、nil
が印刷されます。
これはなぜですか?
`[" winPercentage "]に格納された値を整数に変換して100倍にするにはどうしたらいいですか?
「0.67」は間違いなく整数ではない。 – vadian