绑定的属性/$property语法是什么



如处理用户输入教程所示。

struct LandmarkList: View {
    @State var showFavoritesOnly = true
    var body: some View {
        NavigationView {
            List {
                Toggle(isOn: $showFavoritesOnly) {
                    Text("Favorites only")
                }
   ...

什么是显示收藏夹只有/$showFavoritesOnly语法?

它是Binding<T>独有的东西,还是我们可以在自己的代码中使用它?

@State旨在

用作 SwiftUI 属性的绑定。在Viewbody访问器之外对它的任何访问都将崩溃,并显示:

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

SwiftUI 会自动跟踪所有@State声明,并在其中任何声明发生更改时重新计算相应的body

@State是使用 Swift 5.1 @propertyDelegate 功能实现的,该功能允许自定义属性的存储行为。

最新更新