10 Características del Swift que no están en Objective-C
Objetivo # 8208-C se remonta a la década de 1980 - mucho tiempo atrás por los estándares de tecnología informática. En las décadas desde su primer lanzamiento, Objetivo # 8208-C la influencia de las tecnologías del lenguaje de programación y las mejores prácticas (junto con hardware y del sistema operativo cambios) ha demostrado que el objetivo # 8208-C de diseño es robusto y flexible. Con el amanecer de un nuevo siglo, los ingenieros de Apple se embarcaron en el desarrollo de un nuevo lenguaje para el mundo de la tecnología de hoy.
Conteúdo
- El uso de zonas de juegos para explorar código y sintaxis
- El uso de tuplas
- El uso de rangos para guardar el código
- Aprovechando estricta escribir y seguridad de tipos
- Inicializar las variables y constantes
- La comprensión de los tipos opcionales
- En cuanto a los marcos de su propio código
- Incluyendo anotaciones y atributos en las declaraciones
- Variables desinicialización cuando sea necesario
- Use patrones para simplificar el código
Al escribir estas líneas, Objetivo # 8208-C y Swift están disponibles para los desarrolladores. Ambos le permiten trabajar con los marcos de Cacao y Touch. Con toda probabilidad, Objetivo # 8208-C algún día ser sustituido por Swift, pero esto no va a suceder rápidamente. Incluso con menor curva de aprendizaje de Swift, la transición del Objetivo # 8208-C a Swift se medirá en años.
Por ahora, los desarrolladores pueden trabajar en cualquier idioma. La mayoría de los marcos aún están escritos en el Objetivo # 8208-C, por lo que incluso si usted escribe su código en Swift, que tendrá que interactuar con # 8208-C marcos Objetivo. Afortunadamente, esto no es difícil.
Esta lista abarca diez características Swift que no están disponibles en el Objetivo # 8208-C. Al alternar entre los dos idiomas, esta lista puede ayudarle a distinguir entre las funciones disponibles en cada idioma. En general, por supuesto, usted puede confiar en Swift seguir un tema general: Con Swift, podrás escribir con frecuencia menos código. Esto es porque el lenguaje Swift está diseñado para manejar una serie de situaciones comunes Objetivo # de 8208-C por sí mismo.
Antes de llegar a Swift características que no están en el Objetivo # 8208-C, aquí hay tres términos comunes a las dos lenguas que tienen significados ligeramente diferentes en Swift:
cierre: En Swift, un cierre es una sección de código que se puede ejecutar sin # 8208-secuencialmente. Se declaró con sus propias variables (y variables referencias disponibles en el ámbito en el que se la crea), y se ejecuta cuando sea necesario. Los cierres se utilizan con frecuencia como manipuladores de finalización de procesos asíncronos, por lo que cada vez que se completa el proceso (incluso si la terminación es un fracaso), el cierre se ejecutarán. Swift considera una función para ser un caso especial de un cierre. Cierres en Swift son similares a los bloques en el Objetivo # 8208-C.
escribe: En Swift, un escribe puede ser una clase, estructura o enumeración. Cualquiera de estos puede contener métodos. funciones y miembros.
pasar por referencia / paso por valor: Pasando la variable de ida y vuelta es un tema clásico en la programación objeto # 8208 orientado a. En Swift, estructuras y enumeraciones se pasan de ida y vuelta por el valor (o por la reproducción - la misma cosa). Esto significa que el mismo valor se puede pasar a varios lugares, y en cada lugar, se puede utilizar y modificar sin afectar a cualquiera de las otras ocurrencias.
Instancias de clase en Swift se pasan por referencia de modo que una sola versión de la instancia hace referencia a todos los clientes. Si hay varias instancias de una clase, cada uno de esos casos se pasa alrededor de referencia. Objetivo # ofertas 8208-C con estos temas en diferentes formas, tales como haciendo referencia a fuerte y débil referencias.
El uso de zonas de juegos para explorar código y sintaxis
Parques infantiles son una nueva característica de Xcode 6 que le permite probar el código fácilmente. Ellos pueden hacer escribiendo su código muy parecido a la escritura de código para un lenguaje interpretado porque ves los resultados inmediatamente. Usted puede hacer lo mismo con su código - usted no tiene que conseguir una compilación limpia y construir para bajar a probar cómo funciona una sola línea de código (o no funciona).
El uso de tuplas
Las tuplas que permiten valores individuales del grupo en una sola unidad. En Objetivo # 8208-C, esto se hace a menudo con los diccionarios que organizan múltiples valores. Cuando los múltiples valores tienen un principio de organización lógica, considere el uso de tuplas para el código más limpio y más fácil de entender.
El uso de rangos para guardar el código
Como tuplas, rangos permiten crear construcciones reutilizables que se pueden utilizar en la creación y el uso de las funciones. Por lo general reemplazan pequeñas secciones de código. Al nombrar y la reutilización de ellos, puede evitar los errores tipográficos menudo introducidos por volver a escribir el mismo código varias veces.
Aprovechando estricta escribir y seguridad de tipos
A diferencia de otros idiomas, incluido el Objetivo # 8208-C, Swift hace usted maneja la conversión de tipos y emitan de forma explícita. Entre otras cosas, esto se deshace de errores molestos que surgen cuando el compilador y el sistema operativo convertir un valor de un tipo a otro (y que pensaban que la conversión no se llevaría a cabo o sería un tipo diferente de conversión).
Ahora, usted es responsable de las conversiones, y el compilador y el sistema operativo hace su oferta en lugar de veces sorprenderte.
Inicializar las variables y constantes
A pesar de que no siempre se dan cuenta, Swift requiere que cada propiedad inicializar ya sea con un valor explícito y un tipo de anotación explícita, o con un tipo inferido sobre la base de un valor explícito.
La comprensión de los tipos opcionales
Swift requiere que escriba las propiedades de forma explícita o proporcionando un valor cuyo tipo Swift puede inferir. Swift le da una serie de herramientas que puede escribir una propiedad como opcional. Tipos opcionales permiten Swift saber que usted ha pensado en un tipo, pero que aún no han llegado a una conclusión definitiva al respecto. Con un tipo opcional, usted proporciona información suficiente para Swift para seguir adelante.
En cuanto a los marcos de su propio código
En el desarrollo de aplicaciones, utilizará constantemente marcos Cacao y Touch. Los marcos utilizados tienden a ser muy grandes - UIKit es un ejemplo - pero con Swift, Apple proporciona código de ejemplo que se aprovecha de una serie de muy pequeños marcos personalizados.
Mediante la combinación de la arquitectura marco y la sencillez de Swift, que tiene una forma conveniente para construir sus propias aplicaciones y reutilización del código. Cuando usted comienza a explorar Swift, hacer marcos una de sus primeras paradas.
Incluyendo anotaciones y atributos en las declaraciones
El formato de las declaraciones ha cambiado significativamente en Swift. El formato original de las declaraciones se componía de dos partes:
lt;escribe>nombre de la variable
Este estilo se remonta a los primeros días de FORTRAN. Con los años, se añadieron adiciones y decoradores. Ahora, con Swift, esta sintaxis núcleo ha sido reemplazado con anotaciones y atributos que son más flexibles.
Variables desinicialización cuando sea necesario
Swift administra la memoria, y se puede confiar en ella para limpiar según sea necesario cuando usted (o el sistema) desasigna una instancia. Usted puede escribir un deinitializer (llamado deinit) Para hacer otra cosa que simples memoria liberando nada. Entre las tareas de un deinitializer podría hacer están cerrando un archivo y la colocación de una estructura de datos en un estado conocido por su próximo uso, entre tareas similares.
Use patrones para simplificar el código
Puede especificar los casos dentro de un interruptor declaración que consisten en patrones. Esto puede deshacerse de una gran cantidad de código porque además de cambiar los valores, puede cambiar en rangos de datos, así como las condiciones y características de los datos que van más allá de los valores individuales.