Sobes.tech
Junior — Middle

Ar galite paaiškinti, kas yra StateObject vystymo kontekste?

sobes.tech AI

Atsakymas iš AI

@StateObject — tai savybė-apvalkalas SwiftUI, naudojamas kurti ir valdyti objekto gyvavimo ciklą, kuris įgyvendina ObservableObject protokolą.

Pagrindinė StateObject užduotis yra užtikrinti, kad objektas būtų sukurtas tik kartą ir išliktų per pakartotinius perpiešimus View, kuriame jis deklaruotas. Tai svarbu saugoti būseną, kuri turi išgyventi sąsajos atnaujinimus.

Naudojimo pavyzdys:

class ViewModel: ObservableObject {
    @Published var count = 0
}

struct ContentView: View {
    @StateObject private var viewModel = ViewModel()

    var body: some View {
        VStack {
            Text("Count: \(viewModel.count)")
            Button("Increment") {
                viewModel.count += 1
            }
        }
    }
}

Čia viewModel sukuriamas vieną kartą ir išlaiko būseną tarp sąsajos atnaujinimų.