[返回目錄](https://hackmd.io/78LEM4nRQ_uB8zOu1muVWQ) # SwiftUI基礎 ## 新的 PropertyWrapper - **@State** : 在該view內部使用, 如果傳遞到下個View會是值複製。無法用於子view更新。 - **@Binding** : 在該view內部使用,但如果傳遞到下個View會是引用複製。 - **@EnvironmentObject** :可以把某個ObservableObject 注入當前View到其他子層級中去,這個view的子層級,就可以使用EnvironmentObject獲得綁定的值。 - **@ObservedObject**:跨越view的層級做狀態共享。( ObservableObject : 協議, 要求實現類型是class。以及實現objectWillChange,透過這個屬性,來廣播通知訂閱者) ## 舉例 ### @Binding ![](https://i.imgur.com/PCizFvY.png) ### @Published ![](https://i.imgur.com/ozB13jn.png) ## 其他資源 [dismiss view](https://www.hackingwithswift.com/quick-start/swiftui/how-to-make-a-view-dismiss-itself)