Назад к вопросам
Middle+
195
Как сделать класс наблюдаемым начиная с iOS 17?
Ответ от нейросети
sobes.tech 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("Value: \(model.value)")
}
}
Здесь ключевое — аннотация @Observable перед классом, которая автоматически генерирует необходимую логику для отслеживания изменений. Это упрощает создание наблюдаемых моделей и интеграцию с SwiftUI.