Swift Playground编译器错误:编译器无法在合理的时间内对该表达式进行类型检查;

时间:2020-08-23 11:29:20

标签: swift compiler-errors swift-playground

当我编写在SwiftPlayground上运行的代码时,出现了此编译错误:“编译器无法在合理的时间内对该表达式进行类型检查”

public func toPlaygroundValue() -> PlaygroundValue {
    let dict: [:] = [
        "pitch": .floatingPoint(Double(pitch)),
        "roll":  .floatingPoint(Double(roll)),
        "yaw":   .floatingPoint(Double(yaw)),
        "vgx":   .floatingPoint(Double(vgx)),
        "vgy":   .floatingPoint(Double(vgy)),
        "vgz":   .floatingPoint(Double(vgz)),
        "tof":   .floatingPoint(Double(tof)),
        "h":     .floatingPoint(Double(h)),
        "bat":   .integer(bat),
        "baro":  .floatingPoint(Double(baro)),
        "time":  .floatingPoint(Double(time)),
        "agx":   .floatingPoint(Double(agx)),
        "agy":   .floatingPoint(Double(agy)),
        "agz":   .floatingPoint(Double(agz)),
        "marker": PlaygroundValue.dictionary([
            "id":   .integer(marker.id),
            "x":  .floatingPoint(Double(marker.x)),
            "y":  .floatingPoint(Double(marker.y)),
            "z":   .floatingPoint(Double(marker.z)),
        ]),
        "temp": PlaygroundValue.dictionary([
            "temph":   .integer(temp.temph),
            "templ":   .integer(temp.templ),
        ]),
        "mpry":PlaygroundValue.dictionary([
            "x":  .floatingPoint(Double(mpry.x)),
            "y":  .floatingPoint(Double(mpry.y)),
            "z":   .floatingPoint(Double(mpry.z)),
        ]),
        "sn": .string(sn),
    ]
    let value: PlaygroundValue = PlaygroundValue.dictionary(dict)
    return value
}

1 个答案:

答案 0 :(得分:0)

为变量提供数据类型可能会有所帮助: 使用let dict:[String:PlaygroundValue] = [...]而不是let dict:[:] = [...]