此代码在Xcode 12.5.1和13 上编译良好
private func maskOtherLocalAccount(number: String?) -> String {
guard let number = number, number.count > 5 else { return number ?? "-"}
}
但在Xcode 12.4上,它给出了以下编译错误:
Variable declared in 'guard' condition is not usable in its body
虽然修复很容易,但我发现它在Xcode 12.5.1上工作,而在12.4上却不工作,这真的很奇怪。有人能指出一个记录这一变化的官方变更日志吗?
SR-8669:报告
如果您试图使用保护语句来声明隐藏现有变量的变量,则编译器错误会阻止您访问保护体中的现有变量。
这几乎在一年前就已经被标记为已解决,这与Xcode 12.5的发布日期相匹配。