Sobes.tech
Junior — Middle

Можете ли објаснити шта је StateObject у контексту развоја?

sobes.tech АИ

Одговор од АИ

@StateObject — то је својство-обвивка у SwiftUI-ју, коришћено за креирање и управљање животним циклусом објекта који имплементира протокол ObservableObject.

Главни задатак StateObject је да обезбеди да ће објекат бити креиран једном и да ће остати током поновних рендеринга View-а у којем је декларисан. Ово је важно за чување стања које треба да преживи ажурирања интерфејса.

Пример употребе:

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
            }
        }
    }
}

Овде, viewModel се креира једном и чува стање између ажурирања интерфејса.