Publicado el 17 de Abril del 2018
1.317 visualizaciones desde el 17 de Abril del 2018
1,0 MB
23 paginas
Creado hace 7a (08/11/2016)
Lenguajes de programación
Taller Swift
2016 - 2
Tutorial Swift
Nicolás Larrañaga Cifuentes
Liseth Briceño Albarracín
Angela María Muñoz Medina
8 de noviembre de 2016
Índice
1. Instalación
1.1. OSX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.1.1. Xcode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2. Windows
2. Primeros pasos con swift
2.1. Operadores basicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2. Caracteres y String . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3. Literales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3.1.
Inicializacion de String vacio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3.2. Mutabilidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3.3. Tipo de valor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3.4. Trabajando con caractares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Interpolacion de String . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3.5.
2.3.6. Comparacion de String
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3. Colecciones
3.1. Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1.1.
Inicializacion de Array . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1.2. Metodo añadir, borrar, modificar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2. Diccionarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2.1.
Inicializacion de un diccionario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2.2. Metodo añadir, borrar, modificar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3. Set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3.1.
3.3.2. Hash Values para tipos Set
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3.3. Metodo añadir, borrar, modificar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3.4. Metodos y operaciones fundamentales . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3.5. Parentesco o igualdad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Inicializacion de un Set
4. Control de Flujo
4.1. For in . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2. For
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3. while
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.4. Do- while . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.5.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.6. Switch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.7. Tuplas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
If
3
3
3
4
5
5
5
6
6
6
6
6
6
6
7
7
7
7
7
7
7
8
8
8
8
9
9
9
9
10
10
10
11
11
12
1
Tutorial Swift
Universidad Nacional De Colombia - Lenguajes de programación
5. Funciones
5.1. Definicion y llamado de funciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2. Funcion con parametros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.3. Funcion sin parametros
5.4. Funcion que no retorna valor
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.5. Funcion que retorna valor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.6. Nombres internos y externos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.7. parametros constantes y variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.8. Funciones como tipos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6. Clases y estructuras
6.1. Clases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.1.1. Declaración e instanciación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.1.2. Propiedades de acceso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.1.3. Los operadores de identidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.1.4. Control de acceso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.1.5. Herencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.2. Estructuras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7. Tipos de valor y de referencia
7.1. Tipos de valor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.2. Tipos de referencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8. Características de Swift
8.1. Closures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.1.1. Sintaxis Closures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.2. ARC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9. Ejemplos
facil - factorial
intermedio - merge sort
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.1.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.2.
9.3. avanzado - segment tree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12
12
13
13
13
13
14
14
14
14
15
15
15
16
16
16
17
18
18
18
18
18
19
19
20
20
20
21
Tutorial Swift
Universidad Nacional De Colombia - Lenguajes de programación
1.
Instalación
Swift es soportado principalmente en el sistema operativo de OSX (dispositivos apple), también cuenta
con un compilador en linux; sin embargo para windows no existen compiladores oficiales actualmente, por lo
que es necesario utilizar un compilador en linea (desarrollado por IBM).
1.1. OSX
Al ser creado por Apple para desarrollar apps de iOS, Mac, Apple TV y Apple Watch, solo se necesita
descargar un IDE para codificar, diseñar y probar. Para esto usaremos Xcode 8 que es la ultima version
estable, cabe resaltar que versiones anteriores a Xcode 6.4 no soportan swift.
1.1.1. Xcode
El ultimo sistema operativo para Mac llamado MacOS 10.12 Sierra permite la facil instalacion de Xcode
mediante los siguientes pasos:
1. Entrar a la App Store y buscar Xcode
2. Dar clic en obtener y luego en instalar (ver figura 1)
3. Esperar, Xcode tiene un tamaño de 4.63GB (ver figura 2)
4. Buscar la aplicacion instalada en Launchpad (ver figura 3)
5. Aceptar terminos e instalar Xcode (ver figura 4)
Figura 1:
Figura 2:
Tutorial Swift
Universidad Nacional De Colombia - Lenguajes de programación
Figura 3:
Figura 4:
1.2. Windows
Como fue descrito anteriormente, windows no cuenta con un compilador oficial de swift, sin embargo para
los fines de este tutorial es suficiente utilizar un compilador (playground) en linea, desarrollado por IBM,
para ello entrar a https://swiftlang.ng.bluemix.net/#/repl.
Tutorial Swift
Universidad Nacional De Colombia - Lenguajes de programación
Figura 5:
2. Primeros pasos con swift
2.1. Operadores basicos
A continuación se presentan los operadores de los que dispone swift:
Asignacion =
Aritmeticos +,-,*,/
Residuo %
Incremento- Decremento ++,–
Comparacion ==, !=,>,<,<=,>=
Identidad == , !=== (tener en cuenta que ambos operadores son diferentes en su implementación, ver
sección 9.3
Rango a..¡b a..b
Logicos !, &&, ||
2.2. Caracteres y String
La sintaxis para la manipulacion y creacion de cadenas es similar a C, la concatenacion de cadenas se
realiza con el operador + y ademas de ello se encuentra la mutabilidad de la cadena que es administrado
entre por la eleccion entre una constante , variables, literales y expresiones en cadenas mas largas,en un
proceso denominado interpolacion de cadenas, lo cual facilita la visualizacion e impresión.
A pesar de la sintaxis, en Swift el tipo String es una aplicacion de cadena rapida y sencilla. Cada cadena
compone de caractares Unicode independimiente de la codificacion y proporciona soporte para acceder a
diversas representaciones Unicode
Tutorial Swift
Universidad Nacional De Colombia - Lenguajes de programación
2.3. Literales
Un literal de cadena es una secuencia fija de caracteres de texto rodeado por un par de comillas dobles
”” .
let string = "hello world"
2.3.1.
Inicializacion de String vacio
Para inicializar un string vacio se asigna la cadena vacia () o el inicializador de tipo String (String())
var stringA = ""
var stingB = String()
2.3.2. Mutabilidad
El tipo de dato en Swift es mutable en Swift, lo que permite, realizar cambios sin necesidad de crear una
nueva instancia de la clase o de tipo de dato.
var variableString = "hola"
variableString += "
mundo"
// la variableString ahora es hola mundo
2.3.3. Tipo de valor
En Swift el tipo String es un tipo valor. Si se crea un nuevo String de valor,el String de valor se copia
cuando se pasa a una función o metodo, o cuando se asigna una constante o una varible.
2.3.4. Trabajando con caractares
Las operaciones y propiedadas menciona
Comentarios de: Tutorial Swift (0)
No hay comentarios