0
votes

Impossible de lancer la valeur de type 'UIViewController' à 'Nom.Mainvc' - Signal Sigabrt

Je suis très nouveau pour coder et essayer de faire un écran à l'intérieur. J'utilise 3 écrans dans mon story-boot et ils fonctionnent bien jusqu'à ce que j'essaie de changer de storyboards. Cela me montre "signal sigabrt" dans la ligne xxx pré>

erreur: p>

2020-02-25 13: 19: 17.128892 + 0100 IHOPEYOUREEOKAY [89853: 2434827] [Storyboard] Classe inconnue Mainvc dans le fichier de constructeur d'interface. Ne pouvait pas valeur moulée de type 'uiviewcontroller' (0x110a5b940) à 'ihopeyoureokay.mainvc' (0x1060cc918). 2020-02-25 13: 19: 17.129648 + 0100 IHOPEYOUREEOKAY [89853: 2434827] Impossible de lancer la valeur du type 'Uiviewcontroller' (0x110A5B940) à 'ihopeyoureokay.mainvc' (0x1060cc918). P> blockQuote>

Mon code complet dans ce fichier est: p> xxx pré>

et mon screineélégate ressemble à ceci: P>

class SceneDelegate: UIResponder, UIWindowSceneDelegate {

    var window: UIWindow?

    func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {

        let launchedBefore = UserDefaults.standard.bool(forKey: "hasLaunched")
        let launchStoryboard = UIStoryboard(name: "Main", bundle: nil)
        let mainStoryboard = UIStoryboard(name: "actual", bundle: nil)

        var vc: UIViewController

        if launchedBefore {
            vc = mainStoryboard.instantiateInitialViewController()!
        } else {
            vc = launchStoryboard.instantiateViewController(identifier: "firststoryboard")
        }

        UserDefaults.standard.set(true, forKey: "hasLaunched")

        self.window?.rootViewController = vc
        self.window?.makeKeyAndVisible()

        guard let _ = (scene as? UIWindowScene) else { return }
    }
}


0 commentaires

3 Réponses :


1
votes

Vous devez vérifier votre inspecteur, sélectionnez votre ViewController et vérifiez que cela doit être aussi ci-dessous: Ceci

Le comme! Mainvc requis Vous avez une classe nommée MAINVC

Aussi, vous n'avez pas besoin de créer deux stores de scénario différents, vous permettant de créer deux contrôleurs différents et de faire votre contrôleur d'affichage en fonction de votre état.


0 commentaires

0
votes

Mettez l'identifiant de storyboard comme MAINSVC pour obtenir le code exécutant!


0 commentaires

0
votes

Tout d'abord, vous n'avez pas besoin d'utiliser Scedelegate.swift si vous n'utilisez pas swiftui . Vous devriez faire suivre:

  • Assurez-vous de disposer d'un storyboard nommé réel.storyboard .
  • SET MAINVIEWCONTROLLER ID Storyboard vers MAINVC Dans la propriété Navigator.
  • N'utilisez pas la force déballer, utilisez Guard, que ou si laisse instructions.

    Voici un code d'exemple: xxx


1 commentaires

J'ai déjà eu mon identifiant de scénario à Mainvc, mais je l'ai modifié à Gardage, laissez-la aidée! je vous remercie beaucoup