Cambiar la pantalla inicial

Cambié la pantalla inicial que no está en el Mainguión gráfico, lo hice exactamente como estaba escrito en Google:

  1. Cambiado del inspector de atributos de los controladores de vista is initial view controller

  2. eliminó la línea "Nombre base del archivo del guión gráfico principal" y la línea "Nombre del guión gráfico" en infoel archivo

  3. código agregado a continuación en el delegado de escena:

        window = UIWindow(frame: windowScene.coordinateSpace.bounds)
        window?.windowScene = windowScene
        window?.makeKeyAndVisible()
        let vc = LoginViewController()  // view controller which must be the new one
        window?.rootViewController = vc

Hice todo lo anterior, pero después de ejecutar el proyecto xCode, solo veo una pantalla negra y un error. Thread 1: Fatal error: Unexpectedly found nil while implicitly unwrapping an Optional valueEste error está en LoginViewControllerel campo de texto. Intenté volver a adjuntarlo, IBOutletpero parece que no funciona.

¿alguna solución?

pd No sé si será útil saberlo, pero LoginViewControllerestá completamente copiado con su propio storyobard de otro proyecto de xCode.

Answer

El problema es esta línea:

LoginViewController() 

Este controlador de vista tiene salidas, lo que significa que está diseñado en el guión gráfico. Lo que desea hacer aquí no es crear un LoginViewController nuevo, como lo está haciendo, sino extraer la instancia deseada de LoginViewController del guión gráfico.