Je suis vraiment confus avec la façon dont nous créons un tableau dans Swift. Pourriez-vous s'il vous plaît me dire combien de façons de créer un tableau vide avec quelques détails?
Je suis vraiment confus avec la façon dont nous créons un tableau dans Swift. Pourriez-vous s'il vous plaît me dire combien de façons de créer un tableau vide avec quelques détails?
Réponses:
Voici:
var yourArray = [String]()
Ce qui précède fonctionne également pour d'autres types et pas seulement pour les chaînes. C'est juste un exemple.
Ajouter des valeurs à celui-ci
Je suppose que vous voudrez éventuellement y ajouter une valeur!
yourArray.append("String Value")
Ou
let someString = "You can also pass a string variable, like this!"
yourArray.append(someString)
Ajouter en insérant
Une fois que vous avez quelques valeurs, vous pouvez insérer de nouvelles valeurs au lieu de les ajouter. Par exemple, si vous souhaitez insérer de nouveaux objets au début du tableau (au lieu de les ajouter à la fin):
yourArray.insert("Hey, I'm first!", atIndex: 0)
Ou vous pouvez utiliser des variables pour rendre votre insertion plus flexible:
let lineCutter = "I'm going to be first soon."
let positionToInsertAt = 0
yourArray.insert(lineCutter, atIndex: positionToInsertAt)
Vous voudrez peut-être éventuellement supprimer des éléments
var yourOtherArray = ["MonkeysRule", "RemoveMe", "SwiftRules"]
yourOtherArray.remove(at: 1)
Ce qui précède fonctionne très bien lorsque vous savez où se trouve la valeur dans le tableau (c'est-à-dire lorsque vous connaissez sa valeur d'index). Comme les valeurs d'index commencent à 0, la deuxième entrée sera à l'index 1.
Suppression de valeurs sans connaître l'index
Mais que faire si vous ne le faites pas? Que faire si yourOtherArray a des centaines de valeurs et que tout ce que vous savez, c'est que vous voulez supprimer celle égale à "RemoveMe"?
if let indexValue = yourOtherArray.index(of: "RemoveMe") {
yourOtherArray.remove(at: indexValue)
}
Cela devrait vous aider à démarrer!
var myArr1 = [AnyObject]()
peut stocker n'importe quel objet
var myArr2 = [String]()
ne peut stocker que de la chaîne
Swift 3
Il existe trois (3) façons de créer un tableau vide en Swift et la syntaxe abrégée est toujours préférée.
Méthode 1: syntaxe abrégée
var arr = [Int]()
Méthode 2: initialiseur de baie
var arr = Array<Int>()
Méthode 3: tableau avec un littéral tableau
var arr:[Int] = []
Méthode 4: le crédit va à @BallpointBen
var arr:Array<Int> = []
var arr: Array<Int> = []
. [T]
est juste un raccourci pourArray<T>
Il existe 2 façons principales de créer / initialiser un tableau dans Swift.
var myArray = [Double]()
Cela créerait un tableau de doubles.
var myDoubles = [Double](count: 5, repeatedValue: 2.0)
Cela créerait un tableau de 5 doubles, tous initialisés avec la valeur 2.0.
var myDoubles = [Double](repeating: 2.0, count: 5)
- notez le changement d'ordre des paramètres et le changement de l'étiquette de repeatedValue
àrepeating
Si vous souhaitez déclarer un tableau vide de type chaîne, vous pouvez le faire de 5 manières différentes: -
var myArray: Array<String> = Array()
var myArray = [String]()
var myArray: [String] = []
var myArray = Array<String>()
var myArray:Array<String> = []
Tableau de tout type: -
var myArray: Array<AnyObject> = Array()
var myArray = [AnyObject]()
var myArray: [AnyObject] = []
var myArray = Array<AnyObject>()
var myArray:Array<AnyObject> = []
Tableau de type entier: -
var myArray: Array<Int> = Array()
var myArray = [Int]()
var myArray: [Int] = []
var myArray = Array<Int>()
var myArray:Array<Int> = []
Voici quelques tâches courantes dans Swift 4 que vous pouvez utiliser comme référence jusqu'à ce que vous vous habituiez aux choses.
let emptyArray = [String]()
let emptyDouble: [Double] = []
let preLoadArray = Array(repeating: 0, count: 10) // initializes array with 10 default values of the number 0
let arrayMix = [1, "two", 3] as [Any]
var arrayNum = [1, 2, 3]
var array = ["1", "two", "3"]
array[1] = "2"
array.append("4")
array += ["5", "6"]
array.insert("0", at: 0)
array[0] = "Zero"
array.insert(contentsOf: ["-3", "-2", "-1"], at: 0)
array.remove(at: 0)
array.removeLast()
array = ["Replaces all indexes with this"]
array.removeAll()
for item in arrayMix {
print(item)
}
for (index, element) in array.enumerated() {
print(index)
print(element)
}
for (index, _) in arrayNum.enumerated().reversed() {
arrayNum.remove(at: index)
}
let words = "these words will be objects in an array".components(separatedBy: " ")
print(words[1])
var names = ["Jemima", "Peter", "David", "Kelly", "Isabella", "Adam"]
names.sort() // sorts names in alphabetical order
let nums = [1, 1234, 12, 123, 0, 999]
print(nums.sorted()) // sorts numbers from lowest to highest
Array dans swift s'écrit ** Array <Element> **, où Element est le type de valeurs que le tableau est autorisé à stocker.
Le tableau peut être initialisé comme:
let emptyArray = [String]()
Il montre que c'est un tableau de type string
Le type de la variable emptyArray est déduit comme étant [String] à partir du type de l'initialiseur.
Pour créer le tableau de type string avec des éléments
var groceryList: [String] = ["Eggs", "Milk"]
groceryList a été initialisé avec deux éléments
La variable groceryList est déclarée comme «un tableau de valeurs de chaîne» , écrite sous la forme [String]. Ce tableau particulier a spécifié un type de valeur String, il est autorisé à stocker uniquement des valeurs String.
Il existe différentes propriétés de tableau comme:
- Pour vérifier si le tableau contient des éléments (si le tableau est vide ou non)
Propriété isEmpty (Boolean) pour vérifier si la propriété count est égale à 0:
if groceryList.isEmpty {
print("The groceryList list is empty.")
} else {
print("The groceryList is not empty.")
}
- Ajout (ajout) d'éléments dans le tableau
Vous pouvez ajouter un nouvel élément à la fin d'un tableau en appelant la méthode append (_ :) du tableau:
groceryList.append("Flour")
groceryList contient maintenant 3 éléments.
Vous pouvez également ajouter un tableau d'un ou plusieurs éléments compatibles avec l'opérateur d'affectation d'addition (+ =):
groceryList += ["Baking Powder"]
groceryList contient maintenant 4 articles
groceryList += ["Chocolate Spread", "Cheese", "Peanut Butter"]
groceryList contient maintenant 7 articles
Selon Swift 5
// An array of 'Int' elements
let oddNumbers = [1, 3, 5, 7, 9, 11, 13, 15]
// An array of 'String' elements
let streets = ["Albemarle", "Brandywine", "Chesapeake"]
// Shortened forms are preferred
var emptyDoubles: [Double] = []
// The full type name is also allowed
var emptyFloats: Array<Float> = Array()
vous pouvez supprimer le contenu du tableau en passant l'index du tableau ou vous pouvez tout supprimer
var array = [String]()
print(array)
array.append("MY NAME")
print(array)
array.removeFirst()
print(array)
array.append("MY NAME")
array.removeLast()
array.append("MY NAME1")
array.append("MY NAME2")
print(array)
array.removeAll()
print(array)
Swift 5
// Create an empty array
var emptyArray = [String]()
// Add values to array by appending (Adds values as the last element)
emptyArray.append("Apple")
emptyArray.append("Oppo")
// Add values to array by inserting (Adds to a specified position of the list)
emptyArray.insert("Samsung", at: 0)
// Remove elements from an array by index number
emptyArray.remove(at: 2)
// Remove elements by specifying the element
if let removeElement = emptyArray.firstIndex(of: "Samsung") {
emptyArray.remove(at: removeElement)
}
Une réponse similaire est donnée mais cela ne fonctionne pas pour la dernière version de Swift (Swift 5), voici donc la réponse mise à jour. J'espère que ça aide! :)
Lancement d'un tableau avec un nombre prédéfini:
Array(repeating: 0, count: 10)
J'utilise souvent ceci pour mapper des déclarations où j'ai besoin d'un nombre spécifié d'objets simulés. Par exemple,
let myObjects: [MyObject] = Array(repeating: 0, count: 10).map { _ in return MyObject() }
Compatible avec: Xcode 6.0.1+
Vous pouvez créer un tableau vide en spécifiant le type d'élément de votre tableau dans la déclaration.
Par exemple:
// Shortened forms are preferred
var emptyDoubles: [Double] = []
// The full type name is also allowed
var emptyFloats: Array<Float> = Array()
Exemple de la page des développeurs Apple (Array):
J'espère que cela aidera quiconque à tomber sur cette page.