Sobes.tech
Junior — Middle

Dans quels scénarios est-il judicieux d'utiliser UIHostingController dans une application?

sobes.tech IA

Réponse de l'IA

UIHostingController est utilisé pour intégrer SwiftUI dans des applications UIKit. Cela est particulièrement utile lorsque vous devez :

  • Intégrer une vue SwiftUI dans un contrôleur UIKit existant.
  • Migrer progressivement une application de UIKit à SwiftUI.
  • Utiliser les avantages de SwiftUI (par exemple, une interface déclarative) sans une refonte complète de l’application.

Exemple d’utilisation :

import SwiftUI
import UIKit

struct MySwiftUIView: View {
    var body: some View {
        Text("Bonjour depuis SwiftUI")
    }
}

class MyViewController: UIViewController {
    override func viewDidLoad() {
        super.viewDidLoad()
        let swiftUIView = MySwiftUIView()
        let hostingController = UIHostingController(rootView: swiftUIView)
        addChild(hostingController)
        hostingController.view.frame = view.bounds
        view.addSubview(hostingController.view)
        hostingController.didMove(toParent: self)
    }
}

Ainsi, UIHostingController sert de pont entre UIKit et SwiftUI.