表达式类型 `String` 在没有更多上下文的情况下不明确?

Expression type `String` is ambiguous without more context?

iPad 的 Swift Playgrounds 应用程序中的以下代码给我一条错误消息:

Expression type `String` is ambiguous without more context

有谁知道为什么会这样? 提前致谢。

import SwiftUI
import Foundation
import PlaygroundSupport

struct ContentView: View {
    @State private var progress: Double = 0.6
    var body: some View {
        VStack {
            Text("test")
            HStack {
                Slider(value: $progress)
                Text(String(format: "%.2f", progress))
            }
        }.border(Color.blue)
    }
}

PlaygroundPage.current.setLiveView(ContentView())

您的代码没有问题...重新启动 Xcode

是的,这很奇怪。由于某些原因,iPad 上的 Swift 游乐场有所不同。

改用带说明符的字符串插值:

替换

Text(String(format: "%.2f", progress))

Text("\(progress, specifier: "%.2f")")

注:

如果您不希望文本跳来跳去,请使用具有单间距数字的字体,例如 Helvetica Neue。将 .font(Font.custom("Helvetica Neue", size: 20)) 添加到 Text 语句的末尾。