Middle+
Como tornar uma classe observável a partir do iOS 17?
sobes.tech IA
Resposta da IA
A partir do iOS 17, para tornar uma classe observável, pode usar o novo protocolo Observable do Swift Concurrency. Em vez do habitual ObservableObject com @Published, agora a classe deve conformar-se ao protocolo Observable e usar um fluxo assíncrono de alterações.
Exemplo:
import SwiftUI
import Observation
@Observable
class MyModel {
var value: Int = 0
}
// Uso no SwiftUI
struct ContentView: View {
@StateObject private var model = MyModel()
var body: some View {
Text("Valor: \(model.value)")
}
}
Aqui, o elemento chave é a anotação @Observable antes da classe, que gera automaticamente a lógica necessária para rastrear alterações. Isto simplifica a criação de modelos observáveis e a sua integração com SwiftUI.