【问题标题】:SwiftUI code not compiling in UIKit projectSwiftUI 代码未在 UIKit 项目中编译
【发布时间】:2021-01-06 18:43:18
【问题描述】:

我在我的 Xcode 项目中创建了一个仅使用 UIKit 的新 SwiftUI 视图。我正在尝试在 SwiftUI 中为应用程序创建新屏幕,然后将它们嵌入到 ViewControllers 中。 Xcode 在 SwiftUI 文件中自动生成结构和预览。但随后几乎每一行都会出错,就好像 Xcode 无法将 SwiftUI 导入文件一样。

我有:在 SceneDelegate.swift 中正确设置窗口场景,从 info.plist 中删除故事板键,在项目构建设置中打开预览,确保我的项目针对 iOS 13.0,清理派生数据。

我在 SceneDelegate 中的设置并导入了 SwiftUI:

if let windowScene = scene as? UIWindowScene {
            let window = UIWindow(windowScene: windowScene)
            window.rootViewController = UIHostingController(rootView: ProfilePage())
            self.window = window
            window.makeKeyAndVisible()
        }
// ERROR: Generic class 'UIHostingController' requires that 'ProfilePage' conform to 'View'

我的代码:

import SwiftUI

struct ProfilePage: View {
    var body: some View {
        Text("Hello, World!")
    }
}

struct ProfilePage_Previews: PreviewProvider {
    static var previews: some View {
        ProfilePage()
    }
}

【问题讨论】:

  • 尝试使用SwiftUI.View 而不是View
  • @MohammadRahchamani 您可以将此作为答案发布,它有效,谢谢

标签: swift xcode swiftui


【解决方案1】:

正如您在错误消息中看到的,XCode 指的是UIView 而不是SwiftUI.View。 您应该将 View 替换为 SwiftUI.View 以解决问题。

【讨论】:

    猜你喜欢
    • 2021-09-06
    • 1970-01-01
    • 1970-01-01
    • 2014-02-21
    • 1970-01-01
    • 2014-03-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多