State
— обертка свойства во SwiftUI, позволяющая управлять локальным состоянием представления. При изменении значения свойства, обернутого в @State
, представление автоматически обновляется.
StateObject
— обертка свойства во SwiftUI для создания и управления объектами, соответствующими протоколу ObservableObject
, которые являются частью жизненного цикла представления. Эффективно для объектов, созданных внутри представления и живущих с ним.
ObservedObject
— обертка свойства во SwiftUI для управления ссылками на существующие объекты, соответствующие протоколу ObservableObject
, которые были переданы извне. SwiftUI следит за изменениями в этих объектах и обновляет представление.
Сравнительная таблица:
Обертка | Назначение | Владение | Пример использования |
---|---|---|---|
@State | Локальное состояние представления | Представление | Простой счетчик, флаг видимости |
@StateObject | Создание и владение ObservableObject | Представление | Модель представления (ViewModel ), созданная в представлении |
@ObservedObject | Отслеживание ObservableObject , переданного | Внешний источник | Модель представления (ViewModel ), переданная |
State
— обертка свойства во SwiftUI, позволяющая управлять локальным состоянием представления. При изменении значения свойства, обернутого в @State
, представление автоматически обновляется.
StateObject
— обертка свойства во SwiftUI для создания и управления объектами, соответствующими протоколу ObservableObject
, которые являются частью жизненного цикла представления. Эффективно для объектов, созданных внутри представления и живущих с ним.
ObservedObject
— обертка свойства во SwiftUI для управления ссылками на существующие объекты, соответствующие протоколу ObservableObject
, которые были переданы извне. SwiftUI следит за изменениями в этих объектах и обновляет представление.
Сравнительная таблица:
Обертка | Назначение | Владение | Пример использования |
---|---|---|---|
@State | Локальное состояние представления | Представление | Простой счетчик, флаг видимости |
@StateObject | Создание и владение ObservableObject | Представление | Модель представления (ViewModel ), созданная в представлении |
@ObservedObject | Отслеживание ObservableObject , переданного | Внешний источник | Модель представления (ViewModel ), переданная |
Register or sign in to get access to full answers for all questions from the question bank.