Sobes.tech
Middle+

Hogyan válik megfigyelhetővé egy osztály az iOS 17-től?

sobes.tech MI

Válasz az MI-től

Az iOS 17-től kezdődően, hogy megfigyelhetővé tegyünk egy osztályt, használhatjuk az új Observable protokollt a Swift Concurrency-ből. A megszokott ObservableObject és @Published helyett mostantól az osztálynak meg kell felelnie az Observable protokollnak, és aszinkron változásfolyamot kell használnia.

Példa:

import SwiftUI
import Observation

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

// Használat SwiftUI-ban
struct ContentView: View {
    @StateObject private var model = MyModel()

    var body: some View {
        Text("Érték: \(model.value)")
    }
}

A kulcs itt az @Observable annotáció a osztály előtt, amely automatikusan generálja a változások követéséhez szükséges logikát. Ez megkönnyíti megfigyelhető modellek létrehozását és integrációját a SwiftUI-val.