
A lo largo de los años, he enseñado literalmente a decenas de miles de personas cómo escribir código en Objective-C a través de clases de capacitación, conferencias, foros en línea y mi serie de libros. Basándome en la gran cantidad de comentarios que he recibido, puedo contarte algunos puntos clave que hacen que Swift sea mucho más fácil de aprender que Objective-C.
Si Objective-C es el único idioma en el que ha codificado, tengo una cosa que decir sobre el cambio a Swift. Bienvenidos al siglo XXI.
He codificado durante muchos años en otros lenguajes más modernos como Java y C #, así que cuando agregué Objective-C a mi repertorio en 2008, había muchas cosas que extrañaba de los otros lenguajes en los que trabajo. Afortunadamente, yo ‘ Estoy recuperando la mayor parte de eso con Swift.
Índice de contenido
1. Las clases se definen en un solo archivo
En Objective-C, las clases se definen en dos archivos: un archivo de encabezado (.h) y un archivo de implementación (.m). Este es un verdadero dolor de cabeza y una de las mayores quejas que escucho de los desarrolladores que se mudan a Objective-C.
En Swift, sus clases se definen en un solo archivo .swift. Gracias Apple.
2. No más corchetes para mensajes
Los corchetes que se utilizan para pasar mensajes a un objeto son la segunda queja más importante que he recibido sobre Objective-C. Es diferente a otros lenguajes más modernos y realmente lanza una curva para las personas nuevas en Objective-C.
En Swift, usa la notación de puntos para llamar a un método en un objeto, similar a la notación que usa cuando accede a una propiedad. Por ejemplo:

Este código llama al objeto de la calculadora addToTotal método, pasando 14 como el valor a agregar.
3. El fin del asterisco
No puedo decirles cuántas veces he tenido que responder la pregunta de por qué algunas variables en Objective-C tienen asteriscos asociados con ellas y otras no (las variables que tienen un puntero a un objeto tienen un asterisco).
En Swift, una variable puede contener un puntero a una dirección en la memoria (aunque no un puntero directo), pero nunca es necesario utilizar un asterisco en este contexto. Estoy llorando abiertamente.
4. No más mensajes a objetos nulos
En Objective-C, puede declarar una variable diseñada para contener una referencia a un objeto. Sin embargo, si olvida crear una instancia de un objeto y almacenarlo en esta variable, no se generó ningún error de compilador o de tiempo de ejecución porque Objective-C le permite enviar mensajes a objetos nulos. Por ejemplo:

He escuchado todos los argumentos sobre por qué esta función de Objective-C es excelente, pero desde una perspectiva práctica, para la mayoría del código que escribe, esto es algo malo porque cuando lo hace sin darse cuenta, hace que algo no funciona correctamente en su aplicación y no sabe por qué.
Entra Swift.
Swift no le permite crear propiedades o variables que no estén inicializadas. Si olvida inicializar una variable, obtendrá un error del compilador y sabrá inmediatamente qué hizo mal en lugar de pasar varios minutos revisando el depurador.
Cuantos más errores se detecten en el momento de la compilación, más fácil será el desarrollo de su aplicación. Período.
5. Importar ahora es más fácil
Importar archivos de encabezado en Objective-C es engorroso. Si desea trabajar con una clase desde dentro de otro archivo de clase, primero debe importar su archivo de encabezado.
En Swift, se puede acceder automáticamente a todas las clases que creó en un solo proyecto sin usar un importar declaración.
6. ¡Alloc e Init ya no existen!
En Objective-C creas un objeto a partir de una clase como esta:

En Swift, crea un objeto a partir de una clase como esta:

¡Más fácil! Voy a planificar un día extra de vacaciones este verano para el tiempo extra que ahorraré al no escribir alloc y en eso.
7. ¡No más cohetes estallando!
Hace algunos años, una de las agencias espaciales lanzaba un cohete que se autodestruyó poco después del despegue. Descubrieron que el problema fue causado por un programador que dejó un descanso de un cambiar declaración. Ay.
En Objective-C, si accidentalmente omite un descanso en un cambiar declaración, el control fluye automáticamente hacia la siguiente caso en el cambiar. Este comportamiento rara vez se desea y puede causar estragos en su aplicación.
En Swift, no es necesario agregar un descanso declaración a cada uno caso en un cambiar porque después de un caso ejecuta, el cambiar se sale automáticamente. Lo que también es bueno de Swift cambiar declaraciones es que puede probar casi cualquier cosa, incluidas las cadenas. Aquí hay un ejemplo de la documentación de Apple:

No descanso declaraciones, por lo tanto, no hay errores causados por omitirlas.
8. Manipulación de cadenas más sencilla
En Swift, trabajar con cadenas es mucho más fácil y mucho más obvio para los programadores nuevos en el lenguaje:
- Las cadenas no necesitan una @ delante de ellas como lo hacen en Objective-C.
- Puede combinar cadenas mediante el operador +.
- Puede verificar si dos cadenas contienen los mismos caracteres usando el operador ==
Todos estos comportamientos son esperados y facilitan mucho la manipulación y comparación de cadenas.
Conclusión
Esta lista es realmente solo un pequeño subconjunto de las cosas más obvias que me encantan de Swift. En próximas publicaciones entraré en más detalles y les mostraré la sintaxis básica y la mecánica de Swift.












