Как во View совершать вычисления и добавлять функции

swiftui

#1

Здравствуйте! Допустим у меня есть text-field. И предположим, что при введении 4-х символов у меня некоторая переменная var Int будет меняться с нуля на 10. Я написал такой код в Но Swift почему-то ругается(

import SwiftUI

struct PlayGround1: View {
    
    @State var pass: String = ""
    @State var pass2: Int = 0
    
    var body: some View {
        VStack {
                TextField("введите 4 символа", text: $pass)
                    .foregroundColor(.black)
                if pass.count == 4 {
                    pass2 = 10
            }
        }
    }
}

Попробовал заменить то, что лежит в if на функцию, но Swift тоже ругается

TextField("введите 4 символа", text: $pass)
if pass.count == 4 {
                    pass123()
                }

при вводе self.pass123() тоже не работает(

Вопрос в следующем как в итоге во View делать какие-либо вычисления, либо применять функции. Если что, то я делаю это на SwiftUI, а не на UIKit!
Заранее благодарю!


#2

всё что внутри боди, должно соответствовать протоколу View, те должно возвращать вью.

Для TextField есть инициализатор

TextField(title: StringProtocol, text: Binding<String>, onEditingChanged: <(Bool) -> Void>, onCommit: <T() -> Void>)

который реализует 2 клоужера для отработки изменений значение ТФ и конца редактирования. Там можно делать вычисления.