¿Hay algún beneficio de velocidad al usar xibs en lugar de solo codificar la lógica de vista directamente?

Los XIB son esencialmente un gráfico de objetos serializados de la jerarquía de vistas. Esto significa que en el lanzamiento, hay un costo asociado con deserializarlos y construir los objetos en memoria. Cuando se escribe código de construcción de vista ‘sin procesar’, ocurre el mismo proceso, pero hay mucho más control sobre el tiempo de creación dado al desarrollador, la creación puede diferirse hasta que se requieran las vistas y, por lo tanto, escribir el código de vista debería ser más rápido .

Sin embargo, al verlo de una manera más general, cuando tiene un código de vista, el sistema operativo y el tiempo de ejecución tienen poco o ningún conocimiento sobre las vistas, cómo se utilizarán y cómo optimizarlas, eso depende de usted. Sin embargo, cuando usa XIB, está dando mucha más información al tiempo de ejecución, mucho más contexto sobre cómo piensa usar las vistas y, por lo tanto, hay mucho más margen para la optimización.

En un mundo perfecto, los XIB más declarativos (y los guiones gráficos) deberían ser más rápidos en general. Sin embargo, en realidad, es casi seguro que un código de vista bien optimizado será más rápido en este momento.

Tal vez alguien ha hecho puntos de referencia en esto, IDK.

Mi opinión es que sí, en general xibs debería ser más rápido que su propio código escrito en la mayoría de los casos para que no importe.

El código que descomprime xibs y los convierte en objetos que puede usar en su programa está muy ajustado. Tu código probablemente apesta. Lo siento, pero probablemente sí. El mío también, así que tenemos eso en común, genial.

Sin embargo, probablemente haya algunos casos extremos. Tal vez un ejemplo sería (una vez más, no he comparado esto, así que solo estoy inventando esto) una vista que tiene 50 subvistas. ¡Son muchas subvistas! Y tal vez el código que deserializa xibs no fue ajustado con ese tipo de caso de uso en mente. Entonces, tal vez su propio código podría ser más rápido.

Pero realmente, ¿por qué tienes 50 subvistas?