ios - load uiview from xib programmatically swift
¿Cuál es la forma más eficiente? StoryBoard o XIB? (5)
Comparando XIB y storyBoard, StoryBoard es rápido.
Pero en realidad rápido cuando se hace todo el proyecto programáticamente.
En el guión gráfico cuando compilamos todo, StoryBoard es Archivar en archivo. y unArchive luego ejecuta la aplicación. Pero, en el programa, las Clases se asignan solo en el tiempo de ejecución.
Mi pregunta es ligeramente diferente, entonces mi título sugiere. He trabajado con xib. Ahora estoy tratando de trabajar con el guión gráfico. Mi pregunta es si estamos navegando a través de una clase de otra clase, si StoryBoard brinda beneficios para una mejor administración de la memoria. Supongamos que tenemos 2 ViewControllers: ViewControllerA y ViewControllerB. Estamos intentando pasar por ViewControllerA -> ViewControllerB. Ahora, en Xib nuestro enfoque está abajo;
ViewControllerB *VCB = [ [ViewControllerB alloc] init];
[self.navigationController pushViewController: VCB Animated: YES];
Donde en story board,
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([segue.identifier isEqualToString:@"Second"])
{
SecondViewController *objSecond = (SecondViewController*)[segue destinationViewController];
}
}
Y hacer,
[self performSegueWithIdentifier:@"Second" sender:self];
Entonces, mi pregunta es: asignamos nuestra clase en Xib, donde en storyBoard no estamos. Entonces, ¿hay alguna ventaja de asignación de memoria en el guión gráfico?
Los ingenieros de Apple recomiendan encarecidamente el storyboard, y todo lo que se recomienda es central y la gestión de la memoria la realiza el compilador. sin embargo, en cualquier caso, el diseñador solicita el empuje de un controlador y no presenta problemas. pero se recomienda el guión gráfico y es fácil de entender, vea parte de MVC
Mi punto de vista es que un desarrollador profesional MUST use xibs
, pero un aficionado, nuevo en programación, podría recibir ayuda si usa el guión gráfico.
Guión gráfico
Después de un trabajo de proyecto de 3 años con un solo guión gráfico, puedo decir lot of disadvantages
:
1) REALMENTE se hace MUY MUY lento en la construcción, incluso para un pensamiento muy, muy pequeño (cada vista debe ser reconstruida). También es muy difícil editar incluso con un iMac con 8 o 16 gb de ram si el Storyboard se hace más grande. Incluso es difícil abrirlo.
2) No reutilizable. No hay forma de que pueda importar inmediatamente un View / ViewController con su vista a otro proyecto. Se conectará con otros ViewControllers, Views Or Segues y eso lo hará como un gran pensamiento de "no tocar".
3) hay tanto retraso cuando el proyecto se hace más grande, incluso para que se agregue o edite la restricción de diseño más pequeña, que nunca quiera tocarlo.
4) Si usa las celdas mediante la adición automática de celdas del guión gráfico, no puede usar la misma compilación de celdas en dos puntos.
Ventaja:
1) Celdas automáticas (pero esto también es una desventaja porque una celda no puede ser reutilizada como está en otra vista)
2) Segues, etc. facilitaría que alguien entienda con un solo punto de vista lo que está sucediendo.
Xibs:
1) Totalmente portátil.
2) Abrir / Editar / Construir MUCHO MÁS rápido que un guión gráfico que se hace más grande
conclusión:
Si eres un desarrollador aficionado que creará una aplicación para su negocio por diversión, deberías usar el guión gráfico porque será más fácil entender las cosas. PERO, si usted es un desarrollador profesional, DEBE utilizar xibs para VC, Cells, etc., ya que es la única forma de hacerlos realmente reutilizables y portátiles, para ganar tanto tiempo para el próximo proyecto, o incluso cuando tenga que hacerlo. Haz un pequeño cambio o construye el guión gráfico de nuevo.
Explicación de por qué los xibs son más "reutilizables y portátiles" para mí: las cosas en la programación deben mantenerse en diferentes modelos, archivos, entidades, módulos. Uno debe ser lo menos dependiente de otra cosa que pueda obtener.
No es para decir cuál es el mejor. porque cuál es bueno para contar basado en el requisito del equipo.
Si eres un desarrollador único, es bueno usar el guión gráfico porque consume menos tiempo. Si el equipo está formado por muchos desarrolladores, use xib, de lo contrario, no es fácil fusionar los módulos / tareas.
xcode-using-storyboards-and-xibs-versus-creating-views-programmatically
Utilizando XIBs
Ventajas:
Puedes armar rápidamente una interfaz de usuario
Implementación directa para aplicaciones pequeñas con un número mínimo de pantallas
Puede tener XIB separados para diferentes localizaciones (es decir, idiomas o países)
Excelente para diseñar elementos y detectar visualmente desalineaciones. Es fácil hacer un ligero ajuste en el diseño.
Desventajas:
Es difícil fusionar conflictos cuando se trabaja en un entorno de equipo (difícil de diferenciar, fusionar y leer)
Las vistas altamente dinámicas son imposibles de describir como un XIB
En cuanto al rendimiento, es más lento que crear vistas a través del código porque el xib debe leerse desde el disco y analizarse / analizarse
Los XIB carecen de personalizaciones que puede hacer en código como Quartz (sombras paralelas, esquinas redondeadas)
Más difícil de depurar (es decir, si olvida hacer una conexión en Interface Builder o hacer una conexión incorrecta)
Storyboards
Ventajas:
Los guiones gráficos son agradables para aplicaciones con una cantidad pequeña a mediana de pantallas y los requisitos para la navegación son relativamente sencillos entre las vistas
Puede simular el flujo de una aplicación sin escribir mucho código, si es que lo hay,
Desventajas:
Los guiones gráficos no son compatibles con pre-iOS 5, por lo que hace que el soporte de iOS 4.3 sea imposible
Es difícil trabajar en paralelo en un entorno de equipo porque todos están modificando el mismo archivo
En la misma línea, fusionar guiones gráficos en conflicto en GIT será un dolor
La gente ha experimentado errores en Xcode con el uso de guiones gráficos (por ejemplo, tener que limpiar frecuentemente la carpeta DerivedData debido a inconsistencias)
Usar Storyboard sería una mejor opción en lo que se refiere a la utilización de la memoria, aunque los storyboards también tienen otras ventajas sobre los archivos xib, Apple también recomienda usar el storyboard sobre los archivos xib.