Middle+
Kako učiniti klasu posmatranom od iOS 17?
sobes.tech АИ
Одговор од АИ
Начињено од 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)")
}
}
Кључни елемент је annotation @Observable испред класе, која аутоматски генерише потребну логику за праћење промена. Ово олакшава креирање наблюдавих модела и њихову интеграцију са SwiftUI.