小编use*_*083的帖子

iOS SwiftUI - 无法转换 ObservedObject 类型的值

我有这样的看法:

struct CreateAccountButton : View {
    
    @Binding var viewRouter: ViewRouter

    var body: some View{
        Button(action: {
            withAnimation {
                viewRouter.currentPage = .register
            }
            
        }) {
            
            Text("create_account")
                .padding(.vertical)
                .frame(maxWidth: .infinity)
                .foregroundColor(Color("ColorText"))
                .overlay(
                    RoundedRectangle(cornerRadius: 5)
                        .stroke(Color.white, lineWidth: 0))
                
        }
        .background(Color("BtnGreenBG"))
        .frame(minWidth: 0, maxWidth: .infinity)
        .cornerRadius(5)
        .padding(.top, 12)
    }
}
Run Code Online (Sandbox Code Playgroud)

我需要传递我在主视图中创建的 viewRouter:

@StateObject var viewRouter: ViewRouter
Run Code Online (Sandbox Code Playgroud)

我试过:

CreateAccountButton(viewRouter: $viewRouter)
Run Code Online (Sandbox Code Playgroud)

并得到:

Cannot convert value of type 'ObservedObject<ViewRouter>.Wrapper' to expected argument type 'Binding<ViewRouter>'
Run Code Online (Sandbox Code Playgroud)

我是 ios/swiftui 新手,不明白这个错误。

基于这个答案:

我们如何在 SwiftUI 中将 ObservedObject 类型的值转换为 Binding?

我变了

@Binding var …
Run Code Online (Sandbox Code Playgroud)

swift swiftui

4
推荐指数
1
解决办法
2860
查看次数

标签 统计

swift ×1

swiftui ×1