我正试图用的几个条件初始化一个var
struct BreadCrumbCard: View {
var selection:String
var isSelected: Bool
var color = Color("Gray")
if(isSelected){ //error is here
color = Color("Yellow")
}else if(!selection.isEmpty){
color = Color("Green")
}else{
color = Color("Gray")
}
var body: some View{
...
"预期声明";
我已经搜索了一段时间,但我找不到这样做的方法或替代方案,我相信这一定很明显,但我是swift的新手。如何在这些条件下初始化此变量?
不能将控制代码放在结构或类的顶级作用域中,它必须始终放在函数或类似上下文中。
有几种方法可以解决这个问题,其中一种方法是使用计算属性:
struct BreadCrumbCard: View {
var selection: String
var isSelected: Bool
var color: Color {
if isSelected { //error is here
return Color("Yellow")
} else if !selection.isEmpty {
return Color("Green")
} else {
return Color("Gray")
}
}
var body: some View{
Text("foo").foregroundColor(self.color)
}
}