DevPrep

Все темы › SwiftUI

some View, ViewBuilder и result builders — что это?

Middle PRO

some View

some View — opaque return type: функция возвращает один конкретный тип, соответствующий View, но имя типа скрыто от вызывающего. Реальный тип body выглядит как ModifiedContent<VStack<TupleView<(Text, Button<Text>)>>, _PaddingLayout> — писать его вручную невозможно. Компилятор знает тип статически, поэтому SwiftUI может сравнивать старое и новое дерево по структуре и хранить состояние в нужных узлах. AnyView — противоположность: стирает тип, лишает фреймворк информации для diffing и заставляет пересоздавать поддерево при изменении содержимого.

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

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

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

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

Скачать DevPrep в App Store