Sobes.tech
Middle+

Jak uczynić klasę obserwowalną od iOS 17?

sobes.tech AI

Odpowiedź od AI

Od iOS 17, aby uczynić klasę obserwowalną, można użyć nowego protokołu Observable z Swift Concurrency. Zamiast tradycyjnego ObservableObject z @Published, teraz klasa powinna spełniać protokół Observable i korzystać z asynchronicznego strumienia zmian.

Przykład:

import SwiftUI
import Observation

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

// Użycie w SwiftUI
struct ContentView: View {
    @StateObject private var model = MyModel()

    var body: some View {
        Text("Wartość: \(model.value)")
    }
}

Kluczowym elementem jest tutaj adnotacja @Observable przed klasą, która automatycznie generuje niezbędną logikę do śledzenia zmian. Ułatwia to tworzenie modeli obserwowalnych i ich integrację z SwiftUI.