编译器无法在合理的时间内对该表达式进行类型检查
The compiler is unable to type-check this expression in reasonable time
在我的 ScrollView 中,我尝试显示从 Internet 请求收到的预报。
服务器如果没有该特定项目示例 windGust 的可用数据,则默认值设置为“0”(字符串)
现在,在我的 ScrollView 上,我想隐藏包含零的文本,以便仅显示有价值的预测项。
所以我在我的组中放入了 if else 状态以检查是否显示文本,但是如果我放置超过 3 个 if else 状态我会收到警告 'The compiler is unable to type-check this expression in reasonable time'
如果有值,我有 10 个变量要显示。如果它的值不同于“0”,我该如何显示或隐藏
Group{
if forecast.change_indicator == "0" {
Text(forecast.change_indicator).hidden()
} else {
Text(forecast.change_indicator)
}
if forecast.showTimeBecoming == "0" {
Text(forecast.change_indicator).hidden()
} else {
Text(forecast.showTimeBecoming)
}
if forecast.windGust == "0" {
Text(forecast. windGust).hidden()
} else {
Text(forecast. windGust)
}
}
尝试将它们分离到自己的属性中,因此顶部 Group
仅包含结果,如下所示
var ChangeIndicator : some View {
Group {
if forecast.change_indicator == "0" {
Text(forecast.change_indicator).hidden()
} else {
Text(forecast.change_indicator)
}
}
}
var ShowTimeBecoming : some View {
Group {
if forecast.showTimeBecoming == "0" {
Text(forecast.showTimeBecoming).hidden()
} else {
Text(forecast.showTimeBecoming)
}
}
}
// ... << declare similar for each entity
结果
Group {
ChangeIndicator
ShowTimeBecoming
// ... << all others follow
}
在我的 ScrollView 中,我尝试显示从 Internet 请求收到的预报。 服务器如果没有该特定项目示例 windGust 的可用数据,则默认值设置为“0”(字符串)
现在,在我的 ScrollView 上,我想隐藏包含零的文本,以便仅显示有价值的预测项。
所以我在我的组中放入了 if else 状态以检查是否显示文本,但是如果我放置超过 3 个 if else 状态我会收到警告 'The compiler is unable to type-check this expression in reasonable time'
如果有值,我有 10 个变量要显示。如果它的值不同于“0”,我该如何显示或隐藏
Group{
if forecast.change_indicator == "0" {
Text(forecast.change_indicator).hidden()
} else {
Text(forecast.change_indicator)
}
if forecast.showTimeBecoming == "0" {
Text(forecast.change_indicator).hidden()
} else {
Text(forecast.showTimeBecoming)
}
if forecast.windGust == "0" {
Text(forecast. windGust).hidden()
} else {
Text(forecast. windGust)
}
}
尝试将它们分离到自己的属性中,因此顶部 Group
仅包含结果,如下所示
var ChangeIndicator : some View {
Group {
if forecast.change_indicator == "0" {
Text(forecast.change_indicator).hidden()
} else {
Text(forecast.change_indicator)
}
}
}
var ShowTimeBecoming : some View {
Group {
if forecast.showTimeBecoming == "0" {
Text(forecast.showTimeBecoming).hidden()
} else {
Text(forecast.showTimeBecoming)
}
}
}
// ... << declare similar for each entity
结果
Group {
ChangeIndicator
ShowTimeBecoming
// ... << all others follow
}