DevPrep

Все темы › SwiftUI

Что такое @Observable (Observation framework, iOS 17+)?

Middle PRO

Суть

@Observable — макрос из фреймворка Observation (iOS 17, Swift 5.9), который делает класс наблюдаемым без Combine. Макрос переписывает каждое хранимое свойство в computed с access/withMutation через ObservationRegistrar. SwiftUI при вычислении body запоминает, какие именно свойства были прочитаны, и инвалидирует view только при их изменении — это точечное отслеживание, в отличие от ObservableObject, где любой @Published перерисовывал всех подписчиков.

Продолжение ответа с кодом и уточняющими вопросами интервьюера — в приложении DevPrep.

Полный ответ — в DevPrep

Потренируйтесь перед собеседованием

В DevPrep эти ответы превращаются в задачи на минуту: что напечатает код, найди баг, пробное собеседование. По задаче в день.

Скачать DevPrep в App Store