"Cuando se presenta un controlador de navegación de manera modal, a menudo es más sencillo crear y configurar el generador de interfaz de usuario mediante programación. Aunque también se puede usar el Generador de interfaz para hacerlo, generalmente no se recomienda hacerlo". De hecho, como mi controlador de navegación es simple, ¡prefiero personalizar la vista en IB!¿Por qué Apple recomienda crear controladores de navegación moda programáticamente?
Respuesta
Aunque no sé la razón exacta, esta es mi tiro en él:
Al crear el controlador de programación, necesitan sólo unas pocas líneas de código, de hecho, en la mayoría de los casos, esto podría ser realmente pocos: creando, configurando el controlador raíz, presentando y liberando. Las alternativas se enumeran rápidamente:
- Puede mantener el controlador de visualización como una salida en el controlador subyacente. Entonces, sin embargo, residiría en la memoria todo el tiempo. No solo sería un desperdicio de memoria, sino que tampoco tiene demasiado sentido cuando no es necesario.
- Puede crear una instancia de ese controlador a partir de un archivo de punta. Entonces, sin embargo, tendría que hacer un montón de cosas que harías cualquier manera:
- Crear el controlador de código con alloc, init
- establecer algunas propiedades - ya sea en una clase personalizada, la plumín o unas pocas líneas de código
- presentarlo
- lanzamiento que
Ahora bien, dado que la alternativa es sólo unas pocas líneas de configuración de código, la sobrecarga de cargar un archivo de punta, whic De hecho, no es extremadamente barato, realmente no vale la pena la comodidad adicional. Si está realizando una gran cantidad de configuraciones, esto se aplicaría a una clase personalizada de todos modos, independientemente de si se carga desde la punta o se crea en código.
Sólo mis pensamientos ...
- 1. ¿Por qué Apple recomienda utilizar dispatch_once para implementar el patrón singleton en ARC?
- 2. ¿Cómo hace Apple que sus controladores contengan otros controladores?
- 3. ¿Por qué no se recomienda HibernateDaoSupport?
- 4. ¿Por qué Symfony recomienda desactivar php_short_tags
- 5. ¿Cómo cambio entre los controladores de navegación?
- 6. Cómo enumerar programáticamente todos los controladores en Rails
- 7. ¿Por qué no se recomienda llamar a LoggerFactory.getLogger (...) cada vez?
- 8. ¿Por qué Apple usa el objetivo C?
- 9. ¿Qué estructura PERT RESTful recomienda?
- 10. jQuery obtener atributo de moda
- 11. ¿Por qué se recomienda jQuery.ready cuando es tan lento?
- 12. Crear una navegación numérica
- 13. ¿por qué no se recomienda utilizar directivas en C++?
- 14. ¿Por qué no se recomienda usar herencia múltiple?
- 15. ¿Por qué no se recomienda la comunicación directa entre fragmentos?
- 16. ¿Por qué no se recomienda asignar e inicializar con id?
- 17. ¿Por qué no se recomienda eliminar una rama en CVS?
- 18. ¿Es posible crear URLs a los artículos en la tienda Apple iTunes programáticamente?
- 19. ¿Por qué no se recomienda el uso del desarrollo de MonoTouch para iPhone?
- 20. tratando de crear programáticamente RightBarButtonItem
- 21. ¿Qué biblioteca de Colecciones Java recomienda?
- 22. Crear UIWebView programáticamente
- 23. ¿Cómo crear videos programáticamente?
- 24. Cambiar el título de la barra de navegación programáticamente
- 25. controladores divididos por áreas
- 26. ¿por qué mi aplicación se bloquea? UITable y controladores
- 27. Crear controladores de eventos C# vacíos automáticamente
- 28. Storyboard - Ocultar la barra superior del controlador de navegación programáticamente
- 29. iOS 6 - (BOOL) shouldAutorotate no se llama para los controladores de navegación empujó viewControllers
- 30. Crear orden programáticamente en Magento
buena respuesta constructor 1 :) interfaz es el diablo y que se convertirá rápidamente en muy evidente para cualquier "grave" programador de iPhone que hacer todo programáticamente es una solución mucho mejor. –
¡Estoy siendo n00b en la programación de iphone y nadie puede detenerme! – gurghet
No use Interface Builder, es mejor escribirlo a mano. Puede usar IB para descubrir el diseño, pero no lo use en su proyecto final. Mencionaste que eras un NOOb, mira estos videos: http://www.eng.utah.edu/~cs4962/index.html Aprenderás mucho y Matt no cree en usar IB. – Brad