#ios #swift #if-statement #swiftui
#iOS #swift #оператор if #swiftui
Вопрос:
У меня есть оператор if в моем представлении SwiftUI VStack для переключения целого числа, которое останавливает создание базы данных SQLite более одного раза, но я получаю многочисленные ошибки, останавливающие создание кода. Переменная (appInfo.toggleswitch — это целое число, для которого по умолчанию установлено значение 0 в классе, на который я подписываюсь в этом представлении с использованием объекта среды)
if appInfo.toggleswitch == 0 {
let db = DBHelper()
$appInfo.toggleswitch = 1 }
Комментарии:
1. Пожалуйста, поделитесь этими «многочисленными ошибками». Вы пробовали без
$
?2. В представлении вы работаете только с представлением, т. Е. … в заявлении должно быть представление
if
, если вам нужны какие-то модельные вычисления, тогда сделайте это в модели.
Ответ №1:
Вы не можете писать подобный код в представлении. SwiftUI отображает только пользовательский интерфейс. Я бы сделал что-то вроде этого:
Toggle(isOn: $appInfo.toggleswitch.onChange(myFunction)) {
YourView()
}
func myFunction() {
let db = DBHelper()
appInfo.toggleswitch = 1
}