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.