函数不透明返回类型被推断为...,它根据自身定义了不透明类型

kiw*_*iwi 6 xcode swift swift4 swiftui

Xcode 给出错误:

函数不透明返回类型被推断为“Button”,它根据自身定义了不透明类型

在下面一行:

@State var showingProfile = false // Could be also Binding or else

var profileButton: some View {
Button(action: { self.showingProfile.toggle() }) { // <- Error on this line
    Image(systemName: "person.crop.circle")
        .imageScale(.large)
        .accessibility(label: Text("User Profile"))
        .navigationBarItems(trailing: self.profileButton)
         .padding() } } }
Run Code Online (Sandbox Code Playgroud)

Chr*_*ris 2

你想实现这个目标吗?

struct ProfileButton: View {

    @State var showingProfile = false // Could be also Binding or else

    var body: some View {

        Button(action: {
            self.showingProfile.toggle()
        }) {
            Text("blubb")
            Image(systemName: "person.crop.circle")
                .imageScale(.large)
                .accessibility(label: Text("User Profile"))
                .padding()
        }
    }
}

struct ContentView: View {

    let profileButton = ProfileButton(showingProfile: true)

    var body: some View {
        NavigationView {
            Text("aah")
            .navigationBarTitle("Test")
            .navigationBarItems(trailing: Image(systemName: "person.crop.circle"))
        }

    }
}
Run Code Online (Sandbox Code Playgroud)