martes, 10 de junio de 2014

Conceptos basicos , sobre Swift


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.