Что такое синтаксис свойства / $ свойства для привязок? - PullRequest
2 голосов
/ 04 июня 2019

Как видно из учебного руководства по пользовательскому вводу .

struct LandmarkList: View {
    @State var showFavoritesOnly = true

    var body: some View {
        NavigationView {
            List {
                Toggle(isOn: $showFavoritesOnly) {
                    Text("Favorites only")
                }
   ...

Что такое синтаксис showFovingOnly / $ showFeddingOnly?

Это что-то уникальное для Binding<T> или мы можем использовать это в нашем собственном коде?

1 Ответ

2 голосов
/ 04 июня 2019

@State предназначен для использования в качестве привязки для свойств SwiftUI.Любой доступ к нему вне доступа body вашего View завершится с помощью:

Thread 1: Fatal error: Accessing State<Bool> outside View.body

SwiftUI автоматически отслеживает все объявления @State и пересчитывает соответствующие body всякий раз, когда любое из нихизменение.

@State реализовано с использованием функции Swift 5.1 @propertyDelegate, которая позволяет настраивать поведение хранилища свойств.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...