Я получаю код ниже в учебнике по SwiftUI, как понять эту строку? Я знаю, что цель состоит в том, чтобы установить цвет сиденья как акцентный (синий), если он выбран, в противном случае оставьте его по умолчанию серым цветом.
Но как понять этот синтаксис и как он называется в терминологии Swift?
.foregroundColor(isSelectable ? isSelected ? accentColor : Color.gray.opacity(0.5) : accentColor)
struct ChairView: View {
var width: CGFloat = 50
var accentColor: Color = .blue
var seat = Seat.default
@State var isSelected = false
var isSelectable = true
var onSelect: ((Seat)->()) = {_ in }
var onDeselect: ((Seat)->()) = {_ in }
var body: some View {
VStack(spacing: 2) {
Rectangle()
.frame(width: self.width, height: self.width * 2/3)
.foregroundColor(isSelectable ? isSelected ? accentColor : Color.gray.opacity(0.5) : accentColor)
.cornerRadius(width / 5)
Rectangle()
.frame(width: width - 10, height: width / 5)
.foregroundColor(isSelectable ? isSelected ? accentColor : Color.gray.opacity(0.5) : accentColor)
.cornerRadius(width / 5)
}
}
}
struct ChairView_Previews: PreviewProvider {
static var previews: some View {
ChairView()
}
}