Ifelse swift некорректное отображение View

var body: some View {
    NavigationView{
        Form{
            Section{
                TextField("Сумма счета", text: $cheackAmount)
                Picker("Количество гостей", selection: $numderOfPeople) {
                    ForEach (2..<26) {
                        if numderOfPeople <= 4 {
                            Text("\($0) гостя")
                        }
                            else {
                                Text("\($0) гостей")
                            }
                    }
                }
            }

Неправильно отрабатывает текст при выборе количества гостей. Если выбрать до 7, то будет гостя, если от 7, то гостей


Ответы (1 шт):

Автор решения: schmidt9

Поменяйте условие на такое для правильного вывода в списке, а параметр selection у пикера отвечает за номер выбранной строки

                    ForEach (2..<26) {
                        if $0 <= 4 { // <---
                            Text("\($0) гостя")
                        }
                        else {
                            Text("\($0) гостей")
                        }
                    }
→ Ссылка