Swift, el nuevo lenguaje de programación que Apple nos presento, el día dos en la WWDC 2014.
Hola amigos, como de todos es sabido, el día dos de Junio y como colofón a la presentación de iOS 8 y de OS X Yosemite, Apple nos presentaba su nuevo lenguaje de programación llamado Swift.
Swift esta disponible para desarrolladores a través de Xcode 6, y tras unos días dándole un vistazo creo que los días de Objective C están contados.
Swift a venido para quedarse y aunque el nuevo Xcode 6, permite elegir el lenguaje deseado, dándonos la posibilidad de elegir el lenguaje que queremos usar, y que podemos elegir a la hora de crear nuestro proyecto.
Lo cierto es que con lo poco que he podido ver, estoy encantado y me gusta bastante.
Apple, ha puesto un Ebook a disposición de los desarrolladores, pero en Español hay muy poca información sobre este lenguaje, así que me he permitido hacer una pequeña guia muy básica sobre el uso de Swift.
//
// main.swift
// PruebasConSWift
//
// Created by Francisco on 6/6/14.
// Copyright (c) 2014 PromediDeveloper. All rights reserved.
//
import Foundation
Declaración de Variables:
// Con la palabra reservada "var" declaramos las variables y le asignamos un valor
var nombre = "Steve"
var apellidos = "Martinez"
var edad = 3
var altura = 1.77
var DNI = 4323069
var numero = 0
var cadenaDeTexto = "Cadena"
var booleana = true
var contadorDos = 0
//Ahora vamos a cambiar el tipo de una variable ya definida
//Altura estaba definida como Double y tenia un valor de 1.77
var variableCambiadaDeTipo = Int(altura)
println(variableCambiadaDeTipo) //Esto daria como resultado un 1
//Tambien podemos definir el tipo de variable al declararla
var variableDefinida:String = "Variable definida de texto"
//para declararla sin darle ningun valor tenemos que especificar su tipo
var variableDeTexto:String
//Tambien podemos poner
var variableVacia = String()
Para declarar constantes usamos let:
// Com la palabra reservada "let" declaramos constantes
let constante = "Mi Constante"
let constanteNumerica = 123.34
Declaración y uso de Array:
//Asi se declaran los array
var ciudadesEspañolas = ["Madrid","Barcelona","Valencia","Bilbao","Murcia","Albacete"]
// Declaracion de un Array vacio:
var arrayVacio=[]
//Declaracion de un array vacio pero asignando un tipo de datos
var arrayVacioString:String[]
//Tambien podemos crear un sub array con un indice de rango
var arrayConIndice = ciudadesEspañolas[1...4]
println(arrayConIndice) //Resultado:[Barcelona, Valencia, Bilbao, Murcia]
//insertar elementos al array
ciudadesEspañolas.append("Zaragoza")
//insertar elementos en un lugar determinado
ciudadesEspañolas.insert("Oviedo",atIndex: 3)
//borrar un elemento determinado
ciudadesEspañolas.removeAtIndex(4)
//Borrar todos los elementos del array
arrayConIndice.removeLast()
Declaración de Diccionarios:
//Declarar un diccionario vacio
var dicionariovacioConTipoDatosAsignado = Dictionary<String,Int>()
//Para asignarle un tipo de datos inicial
var diccionarioConDatosAsignados:Dictionary<Int,String> = [0:"Cero",10:"Diez",20:"Veinte",30:"Treinta"]
//Asi se declaran los diccionarios normalmente con diferentes tipos de datos
var diccionario = ["Color":"Blanco","Peso": "70" , "Estatura":"1.78"]
var diccionarioVehiculo = ["Tipo Vehiculo":"Coche","Color": "Blanco" , "Numero Asientos":"Cinco"]
//Añadir elementos al diccionario
diccionario.updateValue("Elche", forKey:"Ciudad")
//Modificar un dicionario
diccionario.updateValue("Modificado",forKey:"Color")
//Borrar un Elemento del diccionario
diccionario["Peso"]=nil
//otra forma de borrar un elemento
diccionario.removeValueForKey("Estatura")
//Borrar todo el diccionario
diccionario.removeAll()
Uso de For para leer Diccionarios y Array:
//Usar el for in para leer un diccionario
for (clave,valor) in diccionarioVehiculo
{
println("\(clave) : \(valor)")
}
//Usar el For para leer el array
for contador in ciudadesEspañolas
{
println(contador)
if contador == "Valencia"
{
//cuando contador es igual a Valencia la imprime por consola
println("En este momento contador es igual a Valencia")
}
}
//Otra forma de leer un array con el bucle for
for (var i=0;i < ciudadesEspañolas.count;i++)
{
println(ciudadesEspañolas[i])
}
// For usando "..." para que se produzca la interacion en un rango determinado
//Nos muestra la tabla de multiplicar del 5
for indice in 0...10
{
println("\(indice) multiplicado por 5 es = \(indice * 5)")
}
//Uso del For para repetir algo hasta alcanzar un valor
for var i = 0 ; i <= 10 ; i = i + 2
{
println("valor de i : \(i)")
}
//Varios usos del if y uso de: || "OR"
if edad == 2 || edad == 3
{
println("La edad es igual a \(edad)")//La edad es igual a 3
}
//Uso de comparador != "distinto"
if edad != 2
{
println("La edad es diferente a 2 y es \(edad)")//La edad es diferente a 2 y es 3
}
Uso de Bucles:
// Uso de While
while contadorDos <= 10
{
contadorDos = contadorDos + 3
println(contadorDos)
}
//ponemos a cero el contador para volver a usarlo
contadorDos = 0
//uso de do - While con un if y un else
do
{
if contadorDos <= 30
{
println("Estos son los numeros menores de 30 : \(contadorDos)")
}else {
println("Estos numeros \(contadorDos) son mayores de 30")
}
contadorDos = contadorDos + 5
}
while contadorDos <= 60
Uso de Switch:
//Uso de Switch y Case
let diaSemana = "Miercoles"
switch diaSemana
{
case "Lunes":
println("El dia de la semana es Lunes")
case "Martes":
println("El día de la semana es Martes")
case "Miércoles":
println("El día de la semana es Miércoles")
case "Jueves","Viernes":
println("El dia de la semana es Jueves o Viernes")
case "Sábado","Domingo":
println("El día de la semana es Sábado o Domingo")
default :
println("Esto no es un dia de la semana")
}
Creación y uso de Funciones:
//Función sin Parámetros
func imprime()
{
println("Esto es la llamada a la función imprime")
}
//Llamada a la función sin parámetros
imprime()
//Función que recibe dos parámetros
func funcionCoche(marca : String , modelo:Int)
{
println("Marca: \(marca) Modelo: \(modelo)")
}
//Llamada a la función con parámetros
funcionCoche("Seat", 1200) //Esto saldría por consola: Marca: Seat Modelo: 1200
// Funcion que retorna un dato
func funcionQueRetornaUnNumeroEntero(a : Int , b :Int)->Int
{
var resultado = a + b
return resultado
}
//Llamamos a la funcion y le asignamos dos numero enteros
println("Resultado de la suma: \(funcionQueRetornaUnNumeroEntero(34 ,47))")
Bueno Amigos, espero les les guste, en tener un poco de tiempo creare otra entrada con mas información de Swift.
Saludos.