Sobes.tech
Middle+

Wie macht man eine Klasse ab iOS 17 beobachtbar?

sobes.tech KI

Antwort von AI

Ab iOS 17 kann eine Klasse beobachtbar gemacht werden, indem das neue Protokoll Observable aus Swift Concurrency verwendet wird. Anstelle des gewohnten ObservableObject mit @Published muss die Klasse jetzt das Protokoll Observable erfüllen und einen asynchronen Änderungsstrom verwenden.

Beispiel:

import SwiftUI
import Observation

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

// Verwendung in SwiftUI
struct ContentView: View {
    @StateObject private var model = MyModel()

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

Hier ist das Schlüsselmerkmal die Annotation @Observable vor der Klasse, die automatisch die notwendige Logik zum Verfolgen von Änderungen generiert. Dies vereinfacht die Erstellung beobachtbarer Modelle und deren Integration mit SwiftUI.