当我编写在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
}
答案 0 :(得分:0)
为变量提供数据类型可能会有所帮助: 使用let dict:[String:PlaygroundValue] = [...]而不是let dict:[:] = [...]