SwiftUI:Segue导航

时间:2019-06-19 09:50:32

标签: ios swift swiftui

我正在尝试将数据从一个屏幕传递到另一个屏幕,是否可以在swiftUI中创建segue并使用以下方法?

prepare(for segue: UIStoryboardSegue, sender: Any?)

2 个答案:

答案 0 :(得分:2)

我无法解决segue问题,但是如果您希望将数据从一个屏幕传递到另一个屏幕,可以按照以下方式进行操作:

首先:在目的地中创建一个变种

struct DestinationView : View {
    let information: InfoType
    var body: some View { ... }
}

然后,当您在导航按钮中传递此信息时:

NavigationButton(destination: DestinationView(information: info)) {
     Text("click me")
}

很抱歉没有完全回答您想要的内容,但希望对您有所帮助

答案 1 :(得分:0)

这是@ObjectBinding出现的地方。如果希望将数据从视图A传递到视图B,则可以在结构或类上使用@ObjectBinding,使该结构或类符合BindableObject并声明didChange属性,并通过使用Combine,如果进行了更改,则通过@ObjectBindable属性包装将这些更改发布到视图中。否则,这将使您拥有到对象的引用链接。