Компилятор не может проверить это выражение в разумные сроки - PullRequest
1 голос
/ 26 января 2020

в моем ScrollView я пытаюсь отобразить прогноз, полученный из inte rnet запроса. Сервер, если для этого заданного элемента данных нет c пример элемента windGust значения по умолчанию установлены на «0» (строка)

Теперь в моем ScrollView я хочу скрыть текст, содержащий ноль, в чтобы показать только прогнозируемый элемент, который имеет значение.

, поэтому я помещаю в свою группу состояние if else, чтобы проверить, отображать текст или нет, но если я поставлю больше 3, если состояние else, я получу предупреждение «Компилятор не может проверить это выражение в разумные сроки»

У меня есть 10 var для отображения, если они имеют значение .. как я могу показать или скрыть, если это значение отличается от «0»

 Group{
        if forecast.change_indicator == "0" {
            Text(forecast.change_indicator).hidden()
        } else {
              Text(forecast.change_indicator)
        }

        if forecast.showTimeBecoming == "0" {
       Text(forecast.change_indicator).hidden()
        } else {
         Text(forecast.showTimeBecoming)
        }
      if forecast.windGust == "0" {
       Text(forecast. windGust).hidden()
        } else {
         Text(forecast. windGust)
        }
   }



1 Ответ

1 голос
/ 26 января 2020

Попробуйте разделить их на собственные свойства, чтобы top Group содержал только результаты, как показано ниже

var ChangeIndicator : some View {
    Group {
        if forecast.change_indicator == "0" {
            Text(forecast.change_indicator).hidden()
        } else {
            Text(forecast.change_indicator)
        }
    }
}

var ShowTimeBecoming : some View {
    Group {
        if forecast.showTimeBecoming == "0" {
            Text(forecast.showTimeBecoming).hidden()
        } else {
            Text(forecast.showTimeBecoming)
        }
    }
}
// ... << declare similar for each entity

и получившийся

Group {
   ChangeIndicator
   ShowTimeBecoming
   // ... << all others follow
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...