ObservableObject шлёт objectWillChange; @Published автоматически уведомляет перед изменением свойства — SwiftUI обновляет подписчиков.
Разбор
- Класс, не struct.
- Комбинируется с Combine publishers.
- Лишние published поля → лишние обновления.
- Альтернатива:
@Observable (Observation framework).
Пример
final class ProfileVm: ObservableObject {
@Published var name = ""
}
Итог
ObservableObject + Published — классическая реактивная модель для SwiftUI до Observation.