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.