Les sentències switch en Swift són una manera poderosa i flexible de controlar el flux del programa basant-se en el valor d'una variable. A diferència d'altres llenguatges de programació, les sentències switch en Swift no necessiten una instrucció break per evitar la caiguda a través dels casos, i poden treballar amb una àmplia varietat de tipus de dades.
Conceptes Clau
- Sintaxi Bàsica: La sintaxi d'una sentència
switchen Swift és clara i concisa. - Casos: Cada cas en una sentència
switchpot contenir múltiples valors. - Interval de Valors: Els casos poden utilitzar intervals de valors.
- Casos amb Condicions: Els casos poden tenir condicions addicionals.
- Cas per Defecte: Un cas
defaultés utilitzat per capturar qualsevol valor que no coincideixi amb els casos anteriors.
Sintaxi Bàsica
La sintaxi bàsica d'una sentència switch és la següent:
let someValue = 3
switch someValue {
case 1:
print("El valor és 1")
case 2, 3, 4:
print("El valor és 2, 3 o 4")
default:
print("El valor no és 1, 2, 3 ni 4")
}Explicació del Codi
- Declaració de la Variable:
let someValue = 3declara una constantsomeValueamb el valor 3. - Sentència
switch: La sentènciaswitchavalua el valor desomeValue. - Casos: Cada cas és comparat amb el valor de
someValue. Si hi ha una coincidència, s'executa el bloc de codi corresponent. - Cas per Defecte: Si cap cas coincideix, s'executa el bloc de codi del cas
default.
Casos amb Intervals de Valors
Els casos poden utilitzar intervals de valors per simplificar el codi:
let age = 25
switch age {
case 0...12:
print("Ets un nen")
case 13...19:
print("Ets un adolescent")
case 20...64:
print("Ets un adult")
case 65...:
print("Ets un ancià")
default:
print("Edat desconeguda")
}Explicació del Codi
- Intervals de Valors: Els intervals
0...12,13...19,20...64i65...permeten agrupar rangs d'edats en categories.
Casos amb Condicions Addicionals
Els casos poden tenir condicions addicionals utilitzant la paraula clau where:
let temperature = 30
switch temperature {
case let t where t < 0:
print("Fa molt fred")
case 0...15:
print("Fa fred")
case 16...25:
print("Fa una temperatura agradable")
case 26...35:
print("Fa calor")
case let t where t > 35:
print("Fa molta calor")
default:
print("Temperatura desconeguda")
}Explicació del Codi
- Condicions Addicionals: Utilitzant
where, podem afegir condicions addicionals als casos per fer el codi més expressiu.
Exercicis Pràctics
Exercici 1
Escriu una sentència switch que classifiqui un nombre donat com a "parell" o "senar".
let number = 7
switch number % 2 {
case 0:
print("El nombre és parell")
case 1:
print("El nombre és senar")
default:
print("Error")
}Solució
let number = 7
switch number % 2 {
case 0:
print("El nombre és parell")
case 1:
print("El nombre és senar")
default:
print("Error")
}Exercici 2
Escriu una sentència switch que classifiqui una nota (0-100) en les categories següents: "Suspès", "Aprovat", "Notable", "Excel·lent".
let grade = 85
switch grade {
case 0...49:
print("Suspès")
case 50...64:
print("Aprovat")
case 65...84:
print("Notable")
case 85...100:
print("Excel·lent")
default:
print("Nota fora de rang")
}Solució
let grade = 85
switch grade {
case 0...49:
print("Suspès")
case 50...64:
print("Aprovat")
case 65...84:
print("Notable")
case 85...100:
print("Excel·lent")
default:
print("Nota fora de rang")
}Resum
Les sentències switch en Swift són una eina poderosa per controlar el flux del programa basant-se en el valor d'una variable. A diferència d'altres llenguatges, no necessiten una instrucció break i poden treballar amb intervals de valors i condicions addicionals. Practicar amb diferents exemples i exercicis ajudarà a comprendre millor com utilitzar aquesta característica de manera efectiva.
Curs de Programació en Swift
Mòdul 1: Introducció a Swift
- Introducció a Swift
- Configuració de l'Entorn de Desenvolupament
- El Teu Primer Programa en Swift
- Sintaxi i Estructura Bàsica
- Variables i Constants
- Tipus de Dades
Mòdul 2: Flux de Control
Mòdul 3: Funcions i Closures
- Definició i Crida de Funcions
- Paràmetres de Funció i Valors de Retorn
- Closures
- Funcions d'Ordre Superior
Mòdul 4: Programació Orientada a Objectes
Mòdul 5: Swift Avançat
Mòdul 6: Swift i Desenvolupament iOS
- Introducció al Desenvolupament iOS
- Conceptes Bàsics de UIKit
- Storyboards i Interface Builder
- Xarxes en Swift
- Core Data
- Conceptes Bàsics de SwiftUI
