Swift - Tableaux
Les tableaux Swift 4 sont utilisés pour stocker des listes ordonnées de valeurs du même type. Swift 4 met une vérification stricte qui ne vous permet pas de saisir un mauvais type dans un tableau, même par erreur.
Si vous affectez un tableau créé à une variable, il est toujours modifiable, ce qui signifie que vous pouvez le modifier en ajoutant, supprimant ou modifiant ses éléments; mais si vous affectez un tableau à une constante, alors ce tableau est immuable et sa taille et son contenu ne peuvent pas être modifiés.
Création de tableaux
Vous pouvez créer un tableau vide d'un certain type en utilisant la syntaxe d'initialisation suivante -
var someArray = [SomeType]()
Voici la syntaxe pour créer un tableau d'une taille donnée a * et l'initialiser avec une valeur -
var someArray = [SomeType](count: NumbeOfElements, repeatedValue: InitialValue)
Vous pouvez utiliser l'instruction suivante pour créer un tableau vide de Int type ayant 3 éléments et la valeur initiale égale à zéro -
var someInts = [Int](count: 3, repeatedValue: 0)
Voici un autre exemple pour créer un tableau de trois éléments et attribuer trois valeurs à ce tableau -
var someInts:[Int] = [10, 20, 30]
Accès aux baies
Vous pouvez récupérer une valeur d'un tableau en utilisant subscript syntaxe, en passant l'index de la valeur que vous souhaitez récupérer entre crochets immédiatement après le nom du tableau comme suit -
var someVar = someArray[index]
Ici le indexcommence à 0, ce qui signifie que le premier élément est accessible en utilisant l'index 0, le deuxième élément est accessible en utilisant l'index 1 et ainsi de suite. L'exemple suivant montre comment créer, initialiser et accéder à des tableaux -
var someInts = [Int](count: 3, repeatedValue: 10)
var someVar = someInts[0]
print( "Value of first element is \(someVar)" )
print( "Value of second element is \(someInts[1])" )
print( "Value of third element is \(someInts[2])" )
Lorsque le code ci-dessus est compilé et exécuté, il produit le résultat suivant -
Value of first element is 10
Value of second element is 10
Value of third element is 10
Modification des tableaux
Vous pouvez utiliser append()méthode ou opérateur d'affectation d'addition (+ =) pour ajouter un nouvel élément à la fin d'un tableau. Jetez un œil à l'exemple suivant. Ici, dans un premier temps, nous créons un tableau vide puis ajoutons de nouveaux éléments dans le même tableau -
var someInts = [Int]()
someInts.append(20)
someInts.append(30)
someInts += [40]
var someVar = someInts[0]
print( "Value of first element is \(someVar)" )
print( "Value of second element is \(someInts[1])" )
print( "Value of third element is \(someInts[2])" )
Lorsque le code ci-dessus est compilé et exécuté, il produit le résultat suivant -
Value of first element is 20
Value of second element is 30
Value of third element is 40
Vous pouvez modifier un élément existant d'un tableau en attribuant une nouvelle valeur à un index donné, comme indiqué dans l'exemple suivant -
var someInts = [Int]()
someInts.append(20)
someInts.append(30)
someInts += [40]
// Modify last element
someInts[2] = 50
var someVar = someInts[0]
print( "Value of first element is \(someVar)" )
print( "Value of second element is \(someInts[1])" )
print( "Value of third element is \(someInts[2])" )
Lorsque le code ci-dessus est compilé et exécuté, il produit le résultat suivant -
Value of first element is 20
Value of second element is 30
Value of third element is 50
Itération sur un tableau
Vous pouvez utiliser for-in boucle pour parcourir l'ensemble des valeurs d'un tableau comme indiqué dans l'exemple suivant -
var someStrs = [String]()
someStrs.append("Apple")
someStrs.append("Amazon")
someStrs += ["Google"]
for item in someStrs {
print(item)
}
Lorsque le code ci-dessus est compilé et exécuté, il produit le résultat suivant -
Apple
Amazon
Google
Vous pouvez utiliser enumerate() fonction qui renvoie l'index d'un élément avec sa valeur comme indiqué ci-dessous dans l'exemple suivant -
var someStrs = [String]()
someStrs.append("Apple")
someStrs.append("Amazon")
someStrs += ["Google"]
for (index, item) in someStrs.enumerated() {
print("Value at index = \(index) is \(item)")
}
Lorsque le code ci-dessus est compilé et exécuté, il produit le résultat suivant -
Value at index = 0 is Apple
Value at index = 1 is Amazon
Value at index = 2 is Google
Ajout de deux tableaux
Vous pouvez utiliser l'opérateur d'addition (+) pour ajouter deux tableaux du même type qui produiront un nouveau tableau avec une combinaison de valeurs des deux tableaux comme suit -
var intsA = [Int](count:2, repeatedValue: 2)
var intsB = [Int](count:3, repeatedValue: 1)
var intsC = intsA + intsB
for item in intsC {
print(item)
}
Lorsque le code ci-dessus est compilé et exécuté, il produit le résultat suivant -
2
2
1
1
1
La propriété count
Vous pouvez utiliser la lecture seule count propriété d'un tableau pour connaître le nombre d'éléments dans un tableau ci-dessous -
var intsA = [Int](count:2, repeatedValue: 2)
var intsB = [Int](count:3, repeatedValue: 1)
var intsC = intsA + intsB
print("Total items in intsA = \(intsA.count)")
print("Total items in intsB = \(intsB.count)")
print("Total items in intsC = \(intsC.count)")
Lorsque le code ci-dessus est compilé et exécuté, il produit le résultat suivant -
Total items in intsA = 2
Total items in intsB = 3
Total items in intsC = 5
La propriété vide
Vous pouvez utiliser la lecture seule empty propriété d'un tableau pour savoir si un tableau est vide ou non comme indiqué ci-dessous -
var intsA = [Int](count:2, repeatedValue: 2)
var intsB = [Int](count:3, repeatedValue: 1)
var intsC = [Int]()
print("intsA.isEmpty = \(intsA.isEmpty)")
print("intsB.isEmpty = \(intsB.isEmpty)")
print("intsC.isEmpty = \(intsC.isEmpty)")
Lorsque le code ci-dessus est compilé et exécuté, il produit le résultat suivant -
intsA.isEmpty = false
intsB.isEmpty = false
intsC.isEmpty = true