Sobes.tech
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.