Sobes.tech
Middle+

Cum se face o clasă observabilă începând cu iOS 17?

sobes.tech AI

Răspuns de la AI

Începând cu iOS 17, pentru a face o clasă observabilă, se poate folosi noul protocol Observable din Swift Concurrency. În loc de ObservableObject obișnuit cu @Published, acum clasa trebuie să respecte protocolul Observable și să utilizeze un flux asincron de schimbări.

Exemplu:

import SwiftUI
import Observation

@Observable
class MyModel {
    var value: Int = 0
}

// Utilizare în SwiftUI
struct ContentView: View {
    @StateObject private var model = MyModel()

    var body: some View {
        Text("Valoare: \(model.value)")
    }
}

Cheia aici este adnotarea @Observable înaintea clasei, care generează automat logica necesară pentru urmărirea schimbărilor. Acest lucru simplifică crearea modelelor observabile și integrarea lor cu SwiftUI.