navigationBarItems“类型[视图]不能符合'视图';只有struct / enum / class类型可以符合协议”

时间:2020-06-11 20:17:37

标签: ios swift swiftui

我正在尝试将一些navigationBarItems应用于我的视图,但出现了此错误-Type '() -> Text' cannot conform to 'View'; only struct/enum/class types can conform to protocols

我已经能够将代码简化为这个。有谁知道是什么原因造成的?

struct NewEntry: View {

    var body: some View {
        NavigationView {
            VStack {
                Text("Hello World")
            }
            .navigationBarItems(trailing: {
                Text("Hello World")
            })
        }
    }
}

1 个答案:

答案 0 :(得分:3)

.navigationBarItems(trailing:)需要一个View
您正在View

中提供{}
.navigationBarItems(trailing: {
    Text("Hello World")
})

解决方案:

.navigationBarItems(trailing: Text("Hello, World"))

SwiftUI的编译器有点笨,语法上的小错误导致它在奇怪的地方抛出了奇怪的错误。