Mémoriser les fonctions essentielles de concepts plus avancées et spécifiques au Swift que sont les Optionals et les Tuples.
Qu'affiche le code suivant ?
print(Int("18"))
Optional(18)
La fonction Int()
retourne un optional Int
. La String
passée en argument peut ne pas représenter un Int
.
Comment tester si un optional
comporte une valeur ou pas ?
if anOptional != nil {
// nous avons une valeur
print(anOptional!)
} else {
// pas de valeur
}
Optional Binding
let optionalInt : Int?
if let myNumber = optionalInt {
print(myNumber)
} else {
print("pas de valeur")
}
Créer un tuple simple sans nom pour les valeurs.
let myTuple = ("John", 14)
Créer un tuple avec des noms pour les variables.
let student = (name : "Jane", age : 18)
Accéder aux valeurs d'un tuple par leur nom
let student = (name : "Jane", age : 18)
student.name // est "Jane"
student.age // est 18
Accéder aux valeurs d'un tuple sans leur nom
let student = (name : "Jane", age : 18)
student.0 // est "Jane"
student.1 // est 18
Décomposer un tuple en variables
let student = ("Jane", 18)
let (myName, myAge) = student
// myName is "Jane"
// myAge is 18
On utilise des Tuples pour les fonctions qui renvoient plusieurs variables.
Exemple :
func sinusAndCosinus(x : Double)->(sin : Double, cos : Double) {
return (sin(x), cos(x))
}
// sinusAndCosinus(0).sin is 0