SwiftUI 之 Binding

2019-10-29  本文已影响0人  小凡凡520
final class Person:ObservableObject {
    
    var name = "chen"
}

struct PageView: View {
    
    @Binding var person:Person
    
    var body: some View {
        Text("\(self.person.name)")
    }
}

struct PageView_Preview: PreviewProvider {
    
    static var previews: some View {
        PageView(person: .constant(Person()))
    }
}




func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {
    // Use this method to optionally configure and attach the UIWindow `window` to the provided UIWindowScene `scene`.
    // If using a storyboard, the `window` property will automatically be initialized and attached to the scene.
    // This delegate does not imply the connecting scene or session are new (see `application:configurationForConnectingSceneSession` instead).

    // Create the SwiftUI view that provides the window contents.
    let contentView = PageView(person: .constant(Person()))

    // Use a UIHostingController as window root view controller.
    if let windowScene = scene as? UIWindowScene {
        let window = UIWindow(windowScene: windowScene)
        window.rootViewController = UIHostingController(rootView: contentView)
        self.window = window
        window.makeKeyAndVisible()
    }
}
上一篇下一篇

猜你喜欢

热点阅读