Swift UIViewControllerRepresentable需要类型';一些观点';和';绝不';相等

Swift UIViewControllerRepresentable需要类型';一些观点';和';绝不';相等,swift,swiftui,Swift,Swiftui,使用Xcode 11 GM Seed编写一些SwiftUI代码,我遇到了一个我不理解的Swift错误 struct MainViewController: View { var body: some View { VStack { Text("Hello World!") } } } extension MainViewController : UIViewControllerRepresentable { fun

使用Xcode 11 GM Seed编写一些SwiftUI代码,我遇到了一个我不理解的Swift错误

struct MainViewController: View {
    var body: some View {
        VStack {
            Text("Hello World!")
        }
    }
}

extension MainViewController : UIViewControllerRepresentable {
    func makeUIViewController(context: UIViewControllerRepresentableContext<MainViewController>) -> UINavigationController {
        return UINavigationController()
    }

    func updateUIViewController(_ uiViewController: UINavigationController, context: UIViewControllerRepresentableContext<MainViewController>) {

    }
}

我缺少ViewController和View之间的分离。错误是视图控制器不能有返回视图的主体

这项工作:

struct MainView : View {
    var body: some View {
        VStack {
            Text("Hello World!")
        }
    }
}

struct MainViewController : UIViewControllerRepresentable {
    func makeUIViewController(context: UIViewControllerRepresentableContext<MainViewController>) -> UIHostingController<MainView> {
        return UIHostingController(rootView: MainView())
    }

    func updateUIViewController(_ uiViewController: UIHostingController<MainView>, context: UIViewControllerRepresentableContext<MainViewController>) {

    }
}
struct MainView:View{
var body:一些观点{
VStack{
文本(“你好,世界!”)
}
}
}
结构MainViewController:UIViewControllerRepresentable{
func makeUIViewController(上下文:UIViewControllerRepresentableContext)->UIHostingController{
返回UIHostingController(rootView:MainView())
}
func updateUIViewController(uViewController:UIHostingController,上下文:UIViewControllerRepresentableContext){
}
}
然后将其实例化:

let viewController = UIHostingController<MainViewController>(rootView:MainViewController())
let viewController=UIHostingController(rootView:MainViewController())
let viewController = UIHostingController<MainViewController>(rootView:MainViewController())