Desarrollo iOS

Tutorial Swift de iOS: aprende los conceptos básicos del lenguaje de programación

Swift es un lenguaje de programación muy fácil de aprender, ya que su sintaxis es sencilla de seguir. En este tutorial Swift de iOS, cubriremos algunos de los fundamentos del lenguaje Swift y veremos qué FÁCIL es desarrollar utilizando el lenguaje de programación Swift.

Antes de comenzar a construir aplicaciones para iOS, debemos comprender los conceptos básicos del lenguaje Swift y ver cómo funcionan, luego podremos crear las increíbles aplicaciones que necesitamos. En este tutorial y en los próximos tutoriales, utilizaremos Swift 3.


 

Definición de variables en Swift de iOS

Las variables se usan para almacenar valores que pueden ser manipulados posteriormente en tu programa.

Primero, vamos a crear un nuevo playgroud y guardarlo. Luego borra todo el contenido de este.

Tutorial Swift de iOS

Salvar playground

Para definir una variable, utiliza la palabra clave var seguida del nombre de la variable como se muestra a continuación:

var myvar

Puedes usar cualquier nombre para tu variable, la única condición es que no puedes comenzar el nombre de tu variable con un número:

var 2myvar

Error de nombre de variable

La definición anterior no es correcta, pero si puedes incluir números de la siguiente forma:

var myvar2

Utilizar el nombre de variable que desees, pero trata que sea descriptivo.

Para asignar un valor a esa variable, utiliza el signo igual:

var myvar = "Hello LikeGeeks Visitors, Welcome to iOS Swift Tutorial"

Definir variable de cadena

Interpolación de cadenas

Para imprimir una cadena e incluir un valor de un tipo diferente, puedes convertirla utilizando la interpolación de cadenas  \() :


No estás limitado a las variables de cadena de caracteres, existen diferentes tipos de variables que puedes definir en Swift.


La primera variable var1 es un tipo booleano. Puede utilizar verdadero o falso para los tipos booleanos.

La segunda variable var2 es un tipo entero o Int como lo nombra el lenguaje Swift.

En Swift, no necesitas escribir el tipo de variable y esto es debido a la inferencia de tipo.

Xcode detecta el tipo de variable en función del valor proporcionado, por lo que, si asignas un valor para una variable entre comillas, significa que la variable es una cadena de caracteres y si escribes un entero como un valor, eso significa que el tipo de variable es Int. etc,

Puedes definir explícitamente el tipo de variable de la siguiente forma:


No es necesario que definas explícitamente estos tipos, excepto en algunos casos, como veremos más adelante en publicaciones futuras.

 


Definición de constantes

Las constantes son como variables con una excepción, si toma un valor, no puede cambiarlo.

Para definir una constante, utiliza la palabra clave let:


Si intentas cambiar cualquiera de estas constantes, Xcode te mostrará un error que dirá que cambies el let a var para que pueda ser modificado


Error de cambio constante


Trabajando con arreglos

Los arreglos son un conjunto de valores, por lo que, en lugar de definir numerosas variables, puedes definir un arreglo que contenga todos esos valores.

Puedes definir una matriz de la siguiente forma:

var myarr = [10, 20, 30, 40, 50]

Además, puedes acceder a cualquier elemento del arreglo por el índice los cuales están basado en cero, es decir, el primer elemento tiene el índice de cero.

Definir matriz

Para agregar elementos a la matriz, utiliza la función append de esta manera:


Añadir matriz

Puedes verificar la cantidad de elementos de un arreglo así:

myarr.count

Además, puede eliminar elementos de la matriz usando la función de eliminar de esta manera:


Array eliminar elemento

El índice está basado en cero, entonces 3 significa el cuarto elemento.

Si necesita definir un arreglo vacío, puedes hacerlo de la siguiente forma:


Debes definir el tipo explícitamente que es una cadena de caracteres en este caso.

 


Definición de diccionarios

Los diccionarios son como arreglos, pero son pares clave-valor donde la clave debe ser única.

A veces es mejor utilizar un diccionario en lugar de un arreglo porque los valores son mucho más fáciles de encontrar.

Cuando se utilizan arreglos, los elementos se ordenan numéricamente, pero si necesita encontrar una información específica, el diccionario es mejor.

Puedes definir un diccionario de la siguiente manera:

var mydictionary = [String: String]()

Aquí definimos un diccionario con una clave de tipo de cadena y los valores correspondientes también son cadenas.

Para agregar elementos al diccionario:


Definir diccionario

Puedes hacer que el diccionario cuente así:

mydictionary.count

Además, puedes verificar si tu diccionario está vacío o no:

mydictionary.isEmpty

Si necesitas eliminar un elemento, puedes hacerlo de esta forma:

mydictionary["OS"] = nil

Procesamiento de diccionarios

Y para iterar sobre los elementos, puede usar un ciclo for-in de esta manera:


Para borrar los elementos del diccionario, utiliza [:]

mydictionary = [:]

 

Ciclos While

Ahora sabes cómo crear arreglos y obtener cualquier elemento de este por su índice, es hora de iterar sobre esos elementos y hacer alguna acción con ellos.

Para iterar sobre los elementos de la matriz, puedes utilizar el ciclo while de la siguiente manera:


Ciclos While

Como puedes ver en el resultado, los elementos de la matriz aumentaron en 10 para cada elemento.

 

Ciclos for-in

Otro tipo de ciclos son los for-in. Con estos ciclos, puedes iterar sobre un rango de valores.

Puedes escribirlo con la siguiente sintaxis:


Ciclos for-in

Al utilizar for-in, no necesitas un número entero para incrementar cada ciclo como se ha hecho en el ciclo while.

 


Sentencias If-else

Puede usar las instrucciones if para verificar una determinada condición como se muestra a continuación:


Puedes ver los resultados en la ventana de la consola en la parte inferior.

Además, puedes utilizar una sentencia else de la siguiente manera:


Sentencias If else

Tal vez tienes múltiples condiciones, puedes usar else if:

Múltiple if else

Operadores de comparación

En el ejemplo anterior, utilizamos los operadores de igualdad ==, sin embargo, hay otros operadores que puedes utilizar para comparar.

No es igual a: !=

Mayor que: >

Mayor que o igual que: > =

Menos que:  <

Menor o igual que: < =

Puede utilizar cualquiera de ellos de la misma manera que en el ejemplo anterior.

 

Operaciones matemáticas

En Swift, hay muchos operadores que puede utilizar para realizar operaciones matemáticas.

Puedes realizar las cuatro operaciones aritméticas básicas (+, -, *, /):


También, puedes utilizar usar el operador de módulo como en cualquier otro lenguaje de programación.

El operador de módulo se usa para obtener el resto al dividir dos números.

var remain = 20 % 3

Operador de módulo


Funciones en Swift

Cuando comienzas a codificar, encontrarás en algún momento líneas de código repetidas en todos tus archivos.

Puede agrupar esas líneas en una función, escribirla una vez y llamarla muchas veces en cualquier lugar.

Para definir una función, utiliza la palabra clave func de esta manera:


Esta es la forma de función más simple. Puedes pasar entradas o parámetros a la función de esta manera:


En este ejemplo, definimos una función que toma dos parámetros de tipo Int.

Puedes definir el tipo de retorno de la siguiente manera:


Observa que el tipo de retorno es Int.

Hagamos una función que sume dos números y devuelva la suma.


Ahora que la función está lista, todo lo que tenemos que hacer es llamarla por su nombre:

getsum(var1: 10, var2: 15)

Como puedes ver en el panel derecho, el resultado es 25.

Definir función

Intenta llamar a la función varias veces con diferentes entradas y verifica el resultado.

Función de llamada

Programación orientada a objetos

POO o Programación Orientada a Objetos es un modelo muy popular para la programación donde se construye todo como un objeto como lo sería en la vida real.

Las clases son el componente principal de la Programación Orientada a Objetos que le permite crear un plano para tu objeto.

Crear una clase en Swift es muy fácil, puedes usar la palabra clave class para crearla:


 

Puedes agregar variables para las propiedades o atributos de la clase de la siguiente forma:


La clase que acabamos de crear es solo el modelo y para poder usarla, debes crear una instancia como se muestra a continuación:

let mycar = car()

Para crear una instancia de una clase en Swift, simplemente coloca paréntesis después de su nombre como se muestra arriba.

Después de crear la instancia, esta no tendrá valor, así que vamos a darle un valor.

mycar.engine = "power engine"

Además, puede llamar a las funciones de la clase de esta manera:


Función de clase de llamada

Puedes crear varias instancias y cada una de ellas tendrá sus propias propiedades.


Múltiples instancias de clase

Herencia de Objetos

Has creado una clase y hace bien su trabajo, ahora necesitas crear otra clase que realice un trabajo similar, pero con ciertas diferencias, así que en lugar de volver a escribir lo que has hecho en la primera clase, puedes heredar esa clase y agregar o modificar de acuerdo a tus necesidades.

Supongamos que nuestra clase de auto es la clase base o la clase principal:


Ahora vamos a crear una clase hija de auto.


El código anterior hereda todas las propiedades y funciones de la clase de auto para la clase motocar y esto se debe al uso de los dos puntos.

Quizás necesites anular algunas funciones en tu nueva clase, puedes anularlas usando la palabra clave override:


Herencia

Si creas una instancia de clase motocar e intenta llamar a la función move, deberías ver el mensaje overriden (anulado).

 

Polimorfismo de objetos

Otro concepto importante en POO llamado polimorfismo que te permite tener distintas funciones con el mismo nombre, pero cada una de ellas con diferentes parámetros.


Aquí tenemos la clase libro que tiene dos funciones con el mismo nombre, pero si miras, notarás que los parámetros que se le pasan ​​son diferentes.

La primera función copy no pasa nada mientras que la segunda pasa un parámetro de cadena.

Puedes tener muchas funciones con el mismo y cada una de ellas hace un trabajo totalmente diferente, pero la única condición es que DEBEN tener parámetros diferentes para cada una de ellas.

Polimorfismo

Como puedes ver, cuando creas una instancia de esa clase, muestra ambas versiones de la función copy.

¡¡Genial!!

En las publicaciones futuras, comenzaremos a explorar el entorno de Xcode y veremos cómo crear aplicaciones de iOS.

Espero que encuentres útil la publicación. Vuelve pronto.

Gracias.

Mokhtar Ebrahim
Estoy trabajando como administrador de sistemas Linux desde 2010. Soy responsable de mantener, proteger y solucionar problemas de servidores Linux para múltiples clientes de todo el mundo. Me encanta escribir guiones de shell y Python para automatizar mi trabajo.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *