Middle+
Как да направите клас наблюдаем от iOS 17?
sobes.tech AI
Отговор от AI
От iOS 17 нататък, за да направите клас наблюдаем, можете да използвате новия протокол Observable от Swift Concurrency. Вместо обичайния ObservableObject с @Published, сега класът трябва да съответства на протокола Observable и да използва асинхронен поток от промени.
Пример:
import SwiftUI
import Observation
@Observable
class MyModel {
var value: Int = 0
}
// Използване в SwiftUI
struct ContentView: View {
@StateObject private var model = MyModel()
var body: some View {
Text("Стойност: \(model.value)")
}
}
Ключовият момент е анотацията @Observable преди класа, която автоматично генерира необходимата логика за проследяване на промените. Това улеснява създаването на наблюдаеми модели и тяхната интеграция със SwiftUI.