Ich bin wirklich verwirrt mit der Art und Weise, wie wir in Swift ein Array erstellen. Können Sie mir bitte sagen, wie viele Möglichkeiten es gibt, ein leeres Array mit einigen Details zu erstellen?
Was soll ich also tun, wenn ich ein Objekt in meinem Array speichern möchte?
Inuyasha
var myArray: [AnyObject] = []
Leo Dabus
Antworten:
294
Bitte schön:
var yourArray =[String]()
Das Obige funktioniert auch für andere Typen und nicht nur für Zeichenfolgen. Es ist nur ein Beispiel.
Werte hinzufügen
Ich nehme an, Sie möchten irgendwann einen Wert hinzufügen!
yourArray.append("String Value")
Oder
let someString ="You can also pass a string variable, like this!"
yourArray.append(someString)
Durch Einfügen hinzufügen
Sobald Sie einige Werte haben, können Sie neue Werte einfügen, anstatt sie anzuhängen. Wenn Sie beispielsweise neue Objekte am Anfang des Arrays einfügen möchten (anstatt sie an das Ende anzuhängen):
yourArray.insert("Hey, I'm first!", atIndex:0)
Oder Sie können Variablen verwenden, um Ihre Einfügung flexibler zu gestalten:
let lineCutter ="I'm going to be first soon."let positionToInsertAt =0
yourArray.insert(lineCutter, atIndex: positionToInsertAt)
Möglicherweise möchten Sie eventuell etwas entfernen
var yourOtherArray =["MonkeysRule","RemoveMe","SwiftRules"]
yourOtherArray.remove(at:1)
Das Obige funktioniert hervorragend, wenn Sie wissen, wo sich der Wert im Array befindet (dh wenn Sie den Indexwert kennen). Da die Indexwerte bei 0 beginnen, befindet sich der zweite Eintrag bei Index 1.
Werte entfernen, ohne den Index zu kennen
Aber was ist, wenn Sie es nicht tun? Was ist, wenn yourOtherArray Hunderte von Werten hat und Sie nur den Wert entfernen möchten, der "RemoveMe" entspricht?
Ich bin mir nicht sicher, warum diese Antwort die meisten Stimmen hat. Es beantwortet eine ganze Reihe von Fragen, die das OP nie gestellt hat, bietet jedoch nur eine Möglichkeit, ein leeres Array zu erstellen, wenn die Frage "Bitte sagen Sie mir, wie viele Möglichkeiten es gibt, ein leeres Array zu erstellen" lautet.
Danke, kann ich so deklarieren `var myArray = [AnyObject] ()`?
Inuyasha
Ja, das ergibt ein Array von 'AnyObject', mit dem Sie so ziemlich alles einfügen können. Wenn Sie ein solches Array nicht benötigen, ist es besser, ihm einen bestimmten Wert wie 'var myArray = [String] ()' zu geben.
Aaron
Hinweis Swift 4 änderte die Syntax zum Initialisieren des Arrays mit sich wiederholenden Werten wie folgt: var myDoubles = [Double](repeating: 2.0, count: 5)- Beachten Sie die Änderung der Reihenfolge der Parameter und die Änderung der Bezeichnung von repeatedValuetorepeating
HirdayGupta
8
Wenn Sie ein leeres Array vom Typ String deklarieren möchten, können Sie dies auf 5 verschiedene Arten tun: -
var myArray:Array<String>=Array()var myArray =[String]()var myArray:[String]=[]var myArray =Array<String>()var myArray:Array<String>=[]
Array eines beliebigen Typs: -
var myArray:Array<AnyObject>=Array()var myArray =[AnyObject]()var myArray:[AnyObject]=[]var myArray =Array<AnyObject>()var myArray:Array<AnyObject>=[]
Array vom Typ Integer: -
var myArray:Array<Int>=Array()var myArray =[Int]()var myArray:[Int]=[]var myArray =Array<Int>()var myArray:Array<Int>=[]
Hier sind einige allgemeine Aufgaben in Swift 4, die Sie als Referenz verwenden können, bis Sie sich an die Dinge gewöhnt haben.
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 in Swift wird als ** Array <Element> ** geschrieben, wobei Element der Wertetyp ist, den das Array speichern darf.
Das Array kann wie folgt initialisiert werden:
let emptyArray = [String]()
Es zeigt, dass es sich um ein Array vom Typ string handelt
Der Typ der Variable emptyArray wird vom Typ des Initialisierers als [String] abgeleitet.
Zum Erstellen des Arrays vom Typ string mit Elementen
var groceryList: [String] = ["Eggs", "Milk"]
Die Einkaufsliste wurde mit zwei Elementen initialisiert
Die GroceryList-Variable wird als "Array von Zeichenfolgenwerten" deklariert. als [ ] geschrieben. Dieses bestimmte Array hat einen Werttyp von String angegeben. Es dürfen nur String-Werte gespeichert werden.
Es gibt verschiedene Eigenschaften von Arrays wie:
- Um zu überprüfen, ob das Array Elemente enthält (ob das Array leer ist oder nicht)
isEmpty-Eigenschaft (Boolean) zum Überprüfen, ob die count-Eigenschaft gleich 0 ist:
if groceryList.isEmpty {
print("The groceryList list is empty.")}else{
print("The groceryList is not empty.")}
- Anhängen (Hinzufügen) von Elementen im Array
Sie können ein neues Element am Ende eines Arrays hinzufügen, indem Sie die Methode append (_ :) des Arrays aufrufen:
groceryList.append("Flour")
Die Einkaufsliste enthält jetzt 3 Artikel.
Alternativ können Sie ein Array mit einem oder mehreren kompatiblen Elementen an den Additionszuweisungsoperator anhängen (+ =):
// 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)}
Eine ähnliche Antwort wird gegeben, aber das funktioniert nicht für die neueste Version von Swift (Swift 5). Hier ist die aktualisierte Antwort. Ich hoffe es hilft! :) :)
Antworten:
Bitte schön:
Das Obige funktioniert auch für andere Typen und nicht nur für Zeichenfolgen. Es ist nur ein Beispiel.
Werte hinzufügen
Ich nehme an, Sie möchten irgendwann einen Wert hinzufügen!
Oder
Durch Einfügen hinzufügen
Sobald Sie einige Werte haben, können Sie neue Werte einfügen, anstatt sie anzuhängen. Wenn Sie beispielsweise neue Objekte am Anfang des Arrays einfügen möchten (anstatt sie an das Ende anzuhängen):
Oder Sie können Variablen verwenden, um Ihre Einfügung flexibler zu gestalten:
Möglicherweise möchten Sie eventuell etwas entfernen
Das Obige funktioniert hervorragend, wenn Sie wissen, wo sich der Wert im Array befindet (dh wenn Sie den Indexwert kennen). Da die Indexwerte bei 0 beginnen, befindet sich der zweite Eintrag bei Index 1.
Werte entfernen, ohne den Index zu kennen
Aber was ist, wenn Sie es nicht tun? Was ist, wenn yourOtherArray Hunderte von Werten hat und Sie nur den Wert entfernen möchten, der "RemoveMe" entspricht?
Damit sollten Sie loslegen!
quelle
kann jedes Objekt speichern
kann nur Zeichenfolge speichern
quelle
Du könntest benutzen
quelle
Swift 3
Es gibt drei (3) Möglichkeiten, ein leeres Array in Swift zu erstellen, und eine Kurzsyntaxmethode wird immer bevorzugt.
Methode 1: Kurzsyntax
Methode 2: Array-Initialisierer
Methode 3: Array mit einem Array-Literal
Methode 4: Das Guthaben geht an @BallpointBen
quelle
var arr: Array<Int> = []
.[T]
ist nur eine Abkürzung fürArray<T>
Es gibt zwei Möglichkeiten, ein Array schnell zu erstellen / zu initialisieren.
Dies würde eine Reihe von Doppelbildern erzeugen.
Dies würde ein Array von 5 Doppelwerten erzeugen, die alle mit dem Wert 2,0 initialisiert werden.
quelle
var myDoubles = [Double](repeating: 2.0, count: 5)
- Beachten Sie die Änderung der Reihenfolge der Parameter und die Änderung der Bezeichnung vonrepeatedValue
torepeating
Wenn Sie ein leeres Array vom Typ String deklarieren möchten, können Sie dies auf 5 verschiedene Arten tun: -
Array eines beliebigen Typs: -
Array vom Typ Integer: -
quelle
Hier sind einige allgemeine Aufgaben in Swift 4, die Sie als Referenz verwenden können, bis Sie sich an die Dinge gewöhnt haben.
quelle
Array in Swift wird als ** Array <Element> ** geschrieben, wobei Element der Wertetyp ist, den das Array speichern darf.
Das Array kann wie folgt initialisiert werden:
let emptyArray = [String]()
Es zeigt, dass es sich um ein Array vom Typ string handelt
Der Typ der Variable emptyArray wird vom Typ des Initialisierers als [String] abgeleitet.
Zum Erstellen des Arrays vom Typ string mit Elementen
var groceryList: [String] = ["Eggs", "Milk"]
Die Einkaufsliste wurde mit zwei Elementen initialisiert
Die GroceryList-Variable wird als "Array von Zeichenfolgenwerten" deklariert. als [ ] geschrieben. Dieses bestimmte Array hat einen Werttyp von String angegeben. Es dürfen nur String-Werte gespeichert werden.
Es gibt verschiedene Eigenschaften von Arrays wie:
- Um zu überprüfen, ob das Array Elemente enthält (ob das Array leer ist oder nicht)
isEmpty-Eigenschaft (Boolean) zum Überprüfen, ob die count-Eigenschaft gleich 0 ist:
- Anhängen (Hinzufügen) von Elementen im Array
Sie können ein neues Element am Ende eines Arrays hinzufügen, indem Sie die Methode append (_ :) des Arrays aufrufen:
Die Einkaufsliste enthält jetzt 3 Artikel.
Alternativ können Sie ein Array mit einem oder mehreren kompatiblen Elementen an den Additionszuweisungsoperator anhängen (+ =):
Die Einkaufsliste enthält jetzt 4 Artikel
Die Einkaufsliste enthält jetzt 7 Artikel
quelle
Gemäß Swift 5
quelle
Sie können den Array-Inhalt durch Übergeben des Array-Index entfernen oder Sie können alle entfernen
quelle
Swift 5
Eine ähnliche Antwort wird gegeben, aber das funktioniert nicht für die neueste Version von Swift (Swift 5). Hier ist die aktualisierte Antwort. Ich hoffe es hilft! :) :)
quelle
Initiieren eines Arrays mit einer vordefinierten Anzahl:
Array(repeating: 0, count: 10)
Ich verwende dies oft zum Zuordnen von Anweisungen, bei denen ich eine bestimmte Anzahl von Scheinobjekten benötige. Beispielsweise,
let myObjects: [MyObject] = Array(repeating: 0, count: 10).map { _ in return MyObject() }
quelle
Kompatibel mit: Xcode 6.0.1+
Sie können ein leeres Array erstellen, indem Sie den Elementtyp Ihres Arrays in der Deklaration angeben.
Beispielsweise:
Beispiel von der Apple-Entwicklerseite (Array):
Hoffe das hilft jedem, der auf diese Seite stolpert.
quelle