Отображение текущего числа в SwiftUI‑вью

Компонент уже корректно отображает входной value. Чтобы он обновлялся, родитель должен хранить число в наблюдаемом состоянии и передавать новое значение.

Короткий ответ

Что ответить на собеседовании

Компонент уже корректно отображает входной value. Чтобы он обновлялся, родитель должен хранить число в наблюдаемом состоянии и передавать новое значение.

Подробный разбор

Ответ с пояснениями

Условие

Реализуйте SwiftUI‑компонент, который принимает состояние успеха и выводит полученное целое число. При изменении этого числа представление должно автоматически обновляться.

struct SuccessView: View {
    var value: Int

    var body: some View {
        Text("Number is: \(value)")
    }
}

Ответ

Компонент уже корректно отображает входной value. Чтобы он обновлялся, родитель должен хранить число в наблюдаемом состоянии и передавать новое значение.

Пример владельца состояния:

struct ParentView: View {
    @State private var number = 1
    var body: some View {
        VStack {
            SuccessView(value: number)
            Button("Следующее") { number += 1 }
        }
    }
}

При изменении number SwiftUI пересчитывает зависимый UI, и Text получает новое значение. Самому SuccessView не нужен State, если он только читает вход. Если дочерний компонент должен менять число родителя, его контракт заменяют на Binding и передают $number.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее