是否可以有条件地改变var的值?
我有一个菜单结构,需要根据是否发生了一些计算而以不同的方式显示,active = true/false。
下面是我想写的,但显然你不能在var语句中放置条件。我怎么能做到这一点?
struct Results: Identifiable {
var id = UUID().uuidString
var category: String
var active: Bool
}
var results = [
if GlobalVariables.calculated == true {
Results(category: "Results", active: true)
} else {
Results(category: "Results", active: false)
}
]
2条答案
按热度按时间utugiqy61#
对于这个简单的例子,你可以尝试使用一个三进制,像这样:
but5z9lq2#
更好的选择是使用计算属性
或者,如果
results
应该只初始化一次,则为lazy
属性附注:主要用于数组的类型应该以单数形式命名。