web-dev-qa-db-fra.com

Comment créer un tableau vide dans Swift?

Je suis vraiment confus avec la façon dont nous créons un tableau dans Swift. Pourriez-vous me dire combien de façons de créer un tableau vide avec quelques détails?

130
Inuyasha

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.

Ajout de valeurs

Je présume 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 d’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 pouvez éventuellement vouloir supprimer certaines choses

var yourOtherArray = ["MonkeysRule", "RemoveMe", "SwiftRules"]
yourOtherArray.removeAtIndex(1)

Ce qui précède fonctionne très bien lorsque vous savez où se trouve la valeur du 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 si vous ne le faites pas? Que se passe-t-il si yourOtherArray a des centaines de valeurs et que tout ce que vous savez, c'est que vous souhaitez supprimer celle correspondant à "RemoveMe"?

if let indexValue = yourOtherArray.indexOf("RemoveMe") {
    yourOtherArray.removeAtIndex(indexValue)
}

Cela devrait vous aider à démarrer!

259
Dave G
var myArr1 = [AnyObject]()

peut stocker n'importe quel objet

var myArr2 = [String]()

ne peut stocker que de la ficelle

26
vichhai

Vous pourriez utiliser

var firstNames: [String] = []
22
DPen

Swift

Il y a trois (3) façons de créer un tableau vide dans Swift et syntaxe abrégée, la manière est toujours préférée.

Méthode 1: Syntaxe abrégée

var arr = [Int]()

Méthode 2: initialiseur de tableau

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> = []
20
Lorem Ipsum Dolor

Il existe 2 manières 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.

17
Aaron

Si vous voulez 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> = []
7
piyush ranjan

Voici quelques tâches courantes dans Swift 4, que vous pouvez utiliser comme référence jusqu'à ce que vous soyez habitué 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
5
Bobby

Un tableau dans Swift est écrit sous la forme ** Array <Element> **, où Element correspond au type de valeurs que le tableau est autorisé à stocker.

Le tableau peut être initialisé en tant que:

let emptyArray = [String]()

Il montre que c'est un tableau de type string

Le type de la variable emptyArray est supposé être [String] à partir du type de l'initialiseur.

Pour créer le tableau de caractères 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 uniquement autorisé à stocker des valeurs String.

Il y a différentes qualités de tableau comme:

- Pour vérifier si le tableau a des éléments (si le tableau est vide ou non)

propriété isEmpty (Boolean) permettant de 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.")
}
_

- Ajouter (ajouter) des éléments dans un tablea

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

3
ABS

vous pouvez supprimer le contenu du tableau en passant l'index du tableau ou vous pouvez supprimer tous

    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)
2
Ullas Kumar

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! :)

1
Abdullah Ajmal

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 tiré de la page de développement Apple (Tableau):

J'espère que cela aide quiconque à trébucher sur cette page.

0
CrazyOne

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()

0
Manoj Perumarath