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?
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?
Antworten:
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?
if let indexValue = yourOtherArray.index(of: "RemoveMe") {
yourOtherArray.remove(at: indexValue)
}
Damit sollten Sie loslegen!
Swift 3
Es gibt drei (3) Möglichkeiten, ein leeres Array in Swift zu erstellen, und eine Kurzsyntaxmethode wird immer bevorzugt.
Methode 1: Kurzsyntax
var arr = [Int]()
Methode 2: Array-Initialisierer
var arr = Array<Int>()
Methode 3: Array mit einem Array-Literal
var arr:[Int] = []
Methode 4: Das Guthaben geht an @BallpointBen
var arr:Array<Int> = []
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.
var myArray = [Double]()
Dies würde eine Reihe von Doppelbildern erzeugen.
var myDoubles = [Double](count: 5, repeatedValue: 2.0)
Dies würde ein Array von 5 Doppelwerten erzeugen, die alle mit dem Wert 2,0 initialisiert werden.
var myDoubles = [Double](repeating: 2.0, count: 5)
- Beachten Sie die Änderung der Reihenfolge der Parameter und die Änderung der Bezeichnung von repeatedValue
torepeating
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 (+ =):
groceryList += ["Baking Powder"]
Die Einkaufsliste enthält jetzt 4 Artikel
groceryList += ["Chocolate Spread", "Cheese", "Peanut Butter"]
Die Einkaufsliste enthält jetzt 7 Artikel
Gemäß 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()
Sie können den Array-Inhalt durch Übergeben des Array-Index entfernen oder Sie können alle entfernen
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)
}
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! :) :)
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() }
Kompatibel mit: Xcode 6.0.1+
Sie können ein leeres Array erstellen, indem Sie den Elementtyp Ihres Arrays in der Deklaration angeben.
Beispielsweise:
// Shortened forms are preferred
var emptyDoubles: [Double] = []
// The full type name is also allowed
var emptyFloats: Array<Float> = Array()
Beispiel von der Apple-Entwicklerseite (Array):
Hoffe das hilft jedem, der auf diese Seite stolpert.