swift - 编译器无法在合理的时间内对该表达式进行类型检查
问题描述
在我的 ScrollView 中,我尝试显示从 Internet 请求收到的预测。服务器如果没有可用于该特定项目示例 windGust 的数据,则默认值设置为“0”(字符串)
现在在我的 ScrollView 上,我想隐藏包含零的文本,以便仅显示具有价值的预测项目。
所以我在我的组中放入 if else 状态以检查是否显示文本,但如果我放入超过 3 个 if else 状态,我会收到警告“编译器无法在合理的时间内对这个表达式进行类型检查”
如果有值,我有 10 个 var 要显示。如果它的值不同于“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)
}
}
解决方案
尝试将它们分成自己的属性,所以 topGroup
只包含结果,如下所示
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
}
推荐阅读
- spring-boot - jhipster中如何集成ldap连接
- node.js - node.js 的活动管理类型包
- wordpress - WordPress - og:image 打开图形以获取作者头像
- c# - 尝试创建自定义 ResourceDictionary 时出现无法转换为 Xamarin.Forms.Element 错误
- hpc - 在 SLURM 中的多个目录上运行一个脚本的首选方法
- ember.js - Ember 重定向旧路线
- mysql - Mysql 使用 Order by Clause 性能非常慢
- java - 将 SVN 用于 Spring Cloud Config 服务器时出错
- ios - 在异步加载中重新加载数据
- spring - Mapped Super 类中的 Eager fetch 属性