编译器无法在合理的时间内对该表达式进行类型检查

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
}