我想投一个(任何)?值为整数。我正在从Firebase检索信息,我想通过别的方式添加数字。这就是(Any)的原因?值必须是整数。我有这个:
let snapshotValues = snapshot.value as? NSDictionary
let gamesWon = snapshotValues!.value(forKey: "GamesWon")
let gamesLost = snapshotValues!.value(forKey: "GamesLost")
let totalgamesPlayedByUser = gamesWon + gamesLost
这给了我一个错误,那两个?对象不能一起添加。我已经尝试过Int(gamesWon),游戏一样! Int,但是没有用。如何将其转换为整数?
答案 0 :(得分:4)
如果您知道两个密钥都包含Int
s,那么您应该可以写
let gamesWon = snapshotValues!.value(forKey: "GamesWon") as! Int
let gamesLost = snapshotValues!.value(forKey: "GamesLost") as! Int
使gamesWon + gamesLost
成为有效的Int
表达式。
如果您不确定密钥是否存在,请改用if let
语句:
if let gamesWon = snapshotValues!.value(forKey: "GamesWon") as? Int {
if let gamesLost = snapshotValues!.value(forKey: "GamesLost") as? Int {
let totalgamesPlayedByUser = gamesWon + gamesLost
}
}