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?
Alors, que dois-je faire si je veux stocker n'importe quel type d'objet dans mon tableau?
Inuyasha
var myArray: [AnyObject] = []
Leo Dabus
Réponses:
297
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"?
Je ne sais pas pourquoi cette réponse a le plus de votes. Il répond à un grand nombre de questions que l'OP n'a jamais posées, mais ne fournit qu'un seul moyen de créer un tableau vide, lorsque la question posée 's'il vous plaît dites-moi combien de façons de créer un tableau vide'.
Merci, puis-je déclarer comme ceci `var myArray = [AnyObject] ()`?
Inuyasha
Oui, cela fera un tableau de 'AnyObject' qui vous permettra de mettre à peu près n'importe quoi là-dedans. À moins que vous n'ayez besoin d'un tableau comme celui-ci, il serait préférable de lui donner une valeur spécifique comme 'var myArray = [String] ()'.
Aaron
Remarque Swift 4 a changé la syntaxe d'initialisation du tableau avec des valeurs répétitives comme suit: 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
HirdayGupta
8
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 (+ =):
// 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()
// 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
iflet 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! :)
Réponses:
Voici:
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!
Ou
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):
Ou vous pouvez utiliser des variables pour rendre votre insertion plus flexible:
Vous voudrez peut-être éventuellement supprimer des éléments
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"?
Cela devrait vous aider à démarrer!
la source
peut stocker n'importe quel objet
ne peut stocker que de la chaîne
la source
Vous pourriez utiliser
la source
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
Méthode 2: initialiseur de baie
Méthode 3: tableau avec un littéral tableau
Méthode 4: le crédit va à @BallpointBen
la source
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.
Cela créerait un tableau de doubles.
Cela créerait un tableau de 5 doubles, tous initialisés avec la valeur 2.0.
la source
var myDoubles = [Double](repeating: 2.0, count: 5)
- notez le changement d'ordre des paramètres et le changement de l'étiquette derepeatedValue
àrepeating
Si vous souhaitez déclarer un tableau vide de type chaîne, vous pouvez le faire de 5 manières différentes: -
Tableau de tout type: -
Tableau de type entier: -
la source
Voici quelques tâches courantes dans Swift 4 que vous pouvez utiliser comme référence jusqu'à ce que vous vous habituiez aux choses.
la source
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:
- 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 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 contient maintenant 4 articles
groceryList contient maintenant 7 articles
la source
Selon Swift 5
la source
vous pouvez supprimer le contenu du tableau en passant l'index du tableau ou vous pouvez tout supprimer
la source
Swift 5
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! :)
la source
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() }
la source
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:
Exemple de la page des développeurs Apple (Array):
J'espère que cela aidera quiconque à tomber sur cette page.
la source