在我的ScrollView中,我尝试显示从互联网请求中收到的预测。 服务器,如果该特定项目(例如windGust)没有可用数据,则默认值设置为“ 0”(字符串)
现在在我的ScrollView上,我想隐藏包含零的文本,以便仅显示具有值的预测项。
因此我将“ if else”状态放入“ Group”中以检查是否显示“文本”,但是如果我输入“ 3”以上的其他状态,则会收到警告“编译器无法在合理的时间内对此表达式进行类型检查'
如果有值,我有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)
}
}
答案 0 :(得分:1)
尝试将它们分成各自的属性,因此顶部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
}