2017-08-17 4 views
0

J'essaie de prendre une application de lecture de blog qui a déjà fonctionné dans une nouvelle application. L'application de lecture de blog a été créée en tant qu'application maître-détail, j'essaie vraiment de comprendre comment fonctionnent ces vues, j'ai donc ajouté une vue partagée dans un seul modèle de vue et j'ai une erreur que je ne peux pas vraiment comprendre, je suis à la recherche en ligne, mais je ne peux pas penser à un moyen de résoudre ce problème, l'erreur que je reçois est la suivante:Adaptation d'une application maître-détail dans App SingleView: problèmes avec AppDelegate

XcodeError

Et la structure de mon projet est celui-ci:

MainStoryBoard

Aucune idée de ce qui cause ce problème? Le code que j'utilise a bien fonctionné sans le View Controller initial, juste la vue partagée d'un modèle d'application Master-Detail.

+0

Votre UISplitViewController sera créé seulement après avoir appuyé sur le bouton « Aller au blog » A ce stade de l'exécution de l'application. window! .rootViewController est un contrôleur de vue avec le titre "Home" et le bouton "Go to Blog" .Vous essayez simplement de forcer UIViewController à UISplitViewController qui provoque un crash. –

Répondre

0

Vous devez déplacer ce code à un autre endroit. Ajouter la suite prioritaire de la méthode à votre contrôleur de vue avec le titre « Home » et le bouton « » Go to Blog »:

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { 
    let spleatViewController = segue.destinationViewController as! UISplitViewController 
    //Do another customization... 
} 
0

Il me semble que le window!.rootViewController est le contrôleur avec le bouton bleu "Aller au blog". Je suppose que ce n'est pas une instance UISplitViewController, et c'est pourquoi vous obtenez ce plantage. Je suppose également que vous pouvez obtenir l'instance du UISplitViewController quelque part autour du gestionnaire de robinet pour le bouton "Aller au blog", où ce contrôleur est présenté.