我迟疑地问这个问题,因为我知道这可能是个愚蠢的问题。
我正在返回一个领域的结果,然后继续尝试将其转换为一个字符串作为正常(放在一个文本标签)。
但是我得到一个错误'init' has been renamed to 'init(describing:)'
当我尝试使用描述方法时,标签会在里面打印"Optional",这显然不是我想要的。
我不能用的原因是什么

previousTimeLabel.text = String(lastRecord?.time)

我肯定我以前做过,很好,我错过了什么吗?(lastRecord.time是Int)。
我在这里检查了关于插值Swift String Interpolation displaying optional?的答案,并尝试更改为以下内容:
    if let previousRounds = String(lastRecord?.rounds) {
        previousRoundsLabel.text = previousRounds
    }

但得到相同的错误+Initializer for conditional binding must have Optional type, not 'String'

最佳答案

问题不在于String(lastRecord?.time)Optional。问题是lastRecordOptional,所以必须打开lastRecord,而不是返回值String(lastRecord?.time)

if let lastRecord = lastRecord {
    previousRoundsLabel.text = "\(lastRecord.time)"
}

07-24 18:27