¿Es beneficioso usar Swift en un proyecto pesado de Objective-C? ¿Podría conducir a un tamaño de aplicación más grande o tiempos de carga más largos?

Hola,

Apple te lo contó, pero no muy limpio. El proceso es realmente bastante simple.

Xcode genera un archivo de encabezado para todo su código Swift en el proyecto, por lo que puede usarlo en Objective-C. Sí, si tiene varios archivos Swift en su proyecto, no debe pensar qué archivo necesita importar: es solo uno para todo el código Swift. El nombre del archivo de este encabezado es “ModuleName-Swift.h”. Y lo configuraremos ahora en unos pocos pasos.

1. Prepare su código Swift

En este paso solo repetiré las palabras de Apple:

Por defecto, el encabezado generado contiene interfaces para declaraciones Swift marcadas con el modificador público. También contiene los marcados con el modificador interno si el objetivo de su aplicación tiene un encabezado de puente Objective-C. Las declaraciones marcadas con el modificador privado no aparecen en el encabezado generado. Las declaraciones privadas no están expuestas a Objective-C a menos que estén marcadas explícitamente con @IBAction, @IBOutlet o @objc también.
– Manzana.

Por lo tanto, pueden ser clases, estructuras, protocolos, enumeraciones, funciones, variables, etc. Todo lo que se puede marcar con estos modificadores: privado, interno y público. Por defecto, una declaración que no tiene modificador es interna, por lo que está contenida en el encabezado generado solo si el destino de su aplicación tiene un encabezado de puente Objective-C, como se indicó anteriormente.

Además, si su clase Swift no hereda de la clase NSObject (o cualquier otra clase Objective-C, como UIView), debe marcar esta clase con una palabra clave objc.

2. Compruebe la configuración de su proyecto

Como dije al principio del artículo, el nombre del archivo del encabezado generado es “ModuleName-Swift.h”. El ModuleName aquí es el Nombre del módulo del producto , vamos a ello:

1. Seleccione su proyecto en Project Navigator , luego seleccione el nombre del proyecto debajo de la palabra Proyecto , para que le muestre la configuración del proyecto.

2. Seleccione la pestaña Configuración de compilación en la parte superior y busque la sección Empaquetado (puede escribir su nombre en la barra de búsqueda).

Aquí está el nombre del módulo del producto . Si su valor es el nombre de su proyecto, déjelo, pero puede cambiarlo si el valor es un poco diferente del nombre del proyecto. Recomiendo no usar espacios ni ningún otro carácter no alfanumérico, he aquí por qué:

Si tiene espacios o cualquier otro carácter no alfanumérico, se reemplazarán con guiones bajos (_) en el nombre del archivo de encabezado. Además, Apple nos dice que “si el nombre comienza con un número, el primer número se reemplaza con un guión bajo”.

Muy bien, eso es todo. Ahora construya el proyecto presionando ⌘B o usando el menú superior ProyectoConstruir . Asegúrese de no tener ningún error de compilación: Xcode debe decir “Compilación correcta”. Si sucedió, entonces Xcode probablemente haya generado el encabezado. Recuerde : no aparecerá en su proyecto en Xcode o en su carpeta. Se genera en un directorio de compilación temporal. Intente importarlo en el archivo donde desea usar su código Swift escribiendo

1 #import “ModuleName-Swift.h”

En el que ModuleName es su nombre de módulo de producto . Tienes que escribirlo a ciegas, no hay autocompletado aquí. Escriba esto y vuelva a construir su proyecto. Si recibiste el mensaje “Compilación exitosa”, entonces has terminado y el código Swift se integra con éxito en Objective-C. Incluso autocompleta sus nombres de clase, métodos y variables escritos en Swift 🙂

Fuente: Cómo usar el código Swift en Objective-C

El tiempo de ejecución Swift agrega aproximadamente 8 MB a las aplicaciones.
Pero a partir de iOS9, eso debería desaparecer.