UIViewControllerRepresentable 在 Xcode 14 iOS 16 上崩溃

Mar*_*Doe 3 ios swiftui

我正在尝试在 Xcode 14 beta 和 iOS 16 中为我的视图控制器创建 Xcode 预览。当我运行代码时,它只会在对话框中抛出一些 Xcode 预览错误并使预览崩溃。我没有使用 Storyboard,所以我只是以编程方式加载 ViewController2。

import Foundation
import UIKit
import SwiftUI

final class ViewController2: UIViewController {
    override func viewDidLoad() {
        super.viewDidLoad()
        self.view.backgroundColor = UIColor.green
    }
}

struct ViewController2_Previews: PreviewProvider {
    static var previews: some View {
        ViewController2()
    }
}

extension ViewController2: UIViewControllerRepresentable {
    
    func makeUIViewController(context: Context) -> ViewController2 {
        ViewController2()
    }
    
    func updateUIViewController(_ uiViewController: ViewController2, context: Context) {
        
    }
}
Run Code Online (Sandbox Code Playgroud)

Asp*_*eri 6

哎呀......你使用类来表示 - 这是个坏主意(即使是最终的!) - 仅使用(!)结构

这是固定变体(使用 Xcode 14b2 测试)

struct ViewController2_Previews: PreviewProvider {
    static var previews: some View {
        ViewControllerRep()
    }
}

struct ViewControllerRep: UIViewControllerRepresentable {
    func makeUIViewController(context: Context) -> ViewController2 {
        return ViewController2()
    }
    
    func updateUIViewController(_ uiViewController: ViewController2, context: Context) {
        
    }
}
Run Code Online (Sandbox Code Playgroud)