Swift无法使用参数类型Int64构造字符串

时间:2018-09-29 23:35:14

标签: swift string casting sprite-kit int64

我正在制作一个包含Game Center排行榜的游戏。我想制作一个自定义排行榜用户界面,而不是使用默认界面。

我试图将存储在Game Center排行榜中的值转换为字符串,以便可以使用SKLabelNode显示它们。但是,我收到一条错误消息:

  

无法为类型为'(Int64?)'的参数列表的类型'String'调用初始化程序

我正在使用

访问Game Center得分
leaderboard.scores[i].value

当我使用String(describing: )方法时,无论括号内的分数是多少,标签节点都将读取“ optional(10)”。我想知道如何将Game Center中的数据存储干净地转换为字符串格式的数字。

1 个答案:

答案 0 :(得分:1)

尝试可选绑定:

if let unwrapped = leaderboard.scores[i].value {
    let string = String(unwrapped)
    print(string)
}

或者如果您想在其余范围中使用未包装的值,请使用guard语句:

guard let unwrapped = leaderboard.scores[i].value else {
    fatalError("Couldn't unwrap the score value")
}
let string = String(unwrapped)