¿Utiliza Storyboard para sus proyectos Swift?

Apple ha agregado algunas características realmente buenas al Creador de interfaces en xcode 8. En general, es más fácil y rápido construir pantallas usando el guión gráfico. Pero el guión gráfico tiene algunas desventajas:

  • A medida que crecen (es decir, se agregan más pantallas), su carga es más lenta y su trabajo es un poco tedioso (con todos los segmentos, etc.).
  • Si un equipo de desarrolladores está utilizando el mismo guión gráfico al realizar cambios en la interfaz de usuario, tendrá conflictos de fusión al confirmar el código para el control de versiones. Estos conflictos de fusión son difíciles de resolver y pueden perder demasiado tiempo.
  • Debe especificar una identificación de guión gráfico para cada uno de sus controladores de vista para poder usarlos en código (y es una identificación codificada).

Una solución a este problema es usar múltiples guiones gráficos. De hecho, ¡puedes llegar a crear un guión gráfico para cada controlador de vista! He hecho esto y en realidad funciona muy bien con no mucho código extra. Puede obtener una instancia de su controlador de vista agregando un método estático a su subclase. En este caso, he nombrado el guión gráfico igual que el controlador de vista para poder pasar el nombre de la clase al constructor UIStoryboard:

clase MyViewController: UIViewController {
función estática getViewControllerInstance () -> MyViewController? {
let storyboard = UIStoryboard (nombre: String (self),
paquete: nulo)
volver storyboard.instantiateInitialViewController () como?
MyViewController
}
}

Luego, en lugar de usar segues por todo el lugar, solo codifique la navegación (que es solo unas pocas líneas de código). Puede presionar y hacer estallar con un controlador de navegación, o simplemente presentarlo desde un controlador de vista. Si desea volver al controlador anterior (como un desenrollado segue), simplemente llame a despedir ().

He usado ambos guiones gráficos y código 100% para múltiples proyectos.

Me resulta más fácil usar storyboard para pequeños proyectos o proyectos que necesito desarrollar rápidamente. Pero cuando se trata de proyectos más grandes que quiero mantener y proporcionar grandes cantidades de flexibilidad, prefiero codificar a la mayoría (todavía usaré un archivo .xib de vez en cuando).

Es solo una preferencia personal de lo que se debe usar. A algunas personas les gustan los guiones gráficos y a otros no.

Los guiones gráficos tienen la ventaja de mantener todos los objetos relacionados con la vista donde puede verlos (por lo que no están en el código ViewController), también hay características en los guiones gráficos que no se han puesto en XIB.

A veces tiene que escribir algún código relacionado con el Guión gráfico, sin embargo, en la actualidad, esto tiende a ser la excepción y no la regla, ya que los guiones gráficos han recorrido un largo camino 🙂
Nada hace que mi corazón se hunda más que abrir un ejemplo de codificación y ver un guión gráfico con una escena vacía en él 🙁

Sí, los uso Pero depende del proyecto en el que estoy involucrado.

Si es mi propio proyecto, y necesito hacer las cosas “rápidamente”, uso guiones gráficos porque es mucho más fácil hacer las cosas más rápido y también tener algunas cosas visibles en unos minutos.

Cuando se trata de proyectos más grandes con muchas personas, el uso de guiones gráficos se convierte en un problema real. Fusionar guiones gráficos que se modifican constantemente es un dolor de cabeza.

Es en ese momento cuando usar xibs es mejor. O si su equipo es lo suficientemente grande, cree todas las vistas con código (sería útil usar un buen marco de auto-distribución, como Snapkit: SnapKit / SnapKit (SnapKit / SnapKit)).

Estoy en un gran proyecto ahora mismo y actualmente estamos migrando todos nuestros guiones gráficos a xibs o vistas codificadas.

Sí, los Storyboards son una excelente manera de diseñar, visualizar y diseñar las pantallas de su interfaz.

Claro, podemos usar storyboard. Podemos usar múltiples guiones gráficos. Si su aplicación tiene tanta pantalla, le sugerí que revisara varios guiones gráficos.