Если я использую предоставленный снимок в качестве единственного содержимого представления body
, ошибки не возникает, поэтому я предполагаю, что это является частью гораздо более сложной иерархии представления. Для таких случаев я предпочитаю разбивать такую структуру на явное свойство представления, как в следующем примере
var body: some View {
ItemCurrencyView // << usage
}
private var ItemCurrencyView: some View { // < separated view builder
Group {
if item.currency == "%" {
Text(item.currency)
.font(.system(size: 14, design: .rounded))
.padding(.bottom, 0)
.frame(width: 100, alignment: .center)
Text(item.value)
.font(.system(size: 24, design: .rounded))
.fontWeight(.heavy)
.frame(width: 100, alignment: .center)
} else {
Text(item.value)
.font(.system(size: 24, design: .rounded))
.fontWeight(.heavy)
.frame(width: 100, alignment: .center)
Text(item.currency)
.font(.system(size: 14, design: .rounded))
.padding(.bottom, 0)
.frame(width: 100, alignment: .center)
}
}
}
, в качестве варианта это может быть также функция ItemCurrencyView, если предпочтительнее.