web-dev-qa-db-fra.com

"Les écrans de lancement ne peuvent pas définir de noms de classe personnalisés"

J'essaie de définir le contrôleur de vue initial sur une classe personnalisée. Dans les versions précédentes, cela fonctionnait, mais pour une raison quelconque, je ne peux pas le faire maintenant. 

J'ai une classe UIViewController (IntroVC). Dans le storyboard, j'ai créé un nouvel objet View Controller et défini sa classe (Identity Inspector -> Custom Class -> Class) sur IntroVC. IntroVC est un fichier .Swift avec les fonctions viewDidLoad() et didReceiveMemoryWarning() de class IntroVC: UIViewController

Voici des captures d'écran de XCode 

Erreur

 Error

IntroVC

 IntroVC

Storyboard

 Storyboard

Quelqu'un sait comment résoudre ce problème? Quoi de neuf avec cette version de XCode? 

10
Ty Pavicich

J'ai commis une erreur très simple. 

Cette erreur s'est produite lorsqu'une classe personnalisée a été définie dans LaunchScreen.storyboard. J'aurais dû définir ma classe IntroVC personnalisée dans Main.storyboard.

Définir la classe VC initiale dans LaunchScreen.storyboard sur UIViewController et la classe VC initiale dans Main.storyboard sur IntroVC ont résolu le problème.

XCode 7.0.1 va bien. L'erreur est la mienne. 

11
Ty Pavicich

Parcourez vos contrôleurs de vue dans Main.storyboard et assurez-vous de ne pas en avoir un qui soit both défini sur une classe personnalisée:

 enter image description here

et a la case "Est-ce que le contrôleur de vue initial" est coché:

 enter image description here

Vous ne pouvez faire que l'un ou l'autre. D'une manière ou d'une autre, j'avais encore "Check Initial View Controller" coché par erreur, et il m'a fallu un certain temps pour le retrouver!

1
Josh

Cela est dû au fait que vous avez défini le nom de la classe pour le fichier LaunchScreen.Storyboard dans le Identity Inspector. Supprimez simplement le nom de la classe et cela fonctionnera bien.

0
Ramakrishna

Vérifiez si vous modifiez la classe d'affichage du fichier "LaunchScreen.xib" dans l'inspecteur d'identité. Ce devrait être un UIView standard, peut-être que vous le définissez par accident à une classe de contrôleur de vue.

0
itsprof