我正在制作一个包含Game Center排行榜的游戏。我想制作一个自定义排行榜用户界面,而不是使用默认界面。
我试图将存储在Game Center排行榜中的值转换为字符串,以便可以使用SKLabelNode显示它们。但是,我收到一条错误消息:
无法为类型为'(Int64?)'的参数列表的类型'String'调用初始化程序
我正在使用
访问Game Center得分leaderboard.scores[i].value
当我使用String(describing: )
方法时,无论括号内的分数是多少,标签节点都将读取“ optional(10)”。我想知道如何将Game Center中的数据存储干净地转换为字符串格式的数字。
答案 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)