Sono davvero confuso con il modo in cui creiamo un array in Swift. Potresti dirmi in quanti modi creare un array vuoto con alcuni dettagli?
Sono davvero confuso con il modo in cui creiamo un array in Swift. Potresti dirmi in quanti modi creare un array vuoto con alcuni dettagli?
Risposte:
Ecco qui:
var yourArray = [String]()
Quanto sopra funziona anche per altri tipi e non solo per le stringhe. È solo un esempio.
Aggiunta di valori ad esso
Presumo che alla fine vorrai aggiungere un valore ad esso!
yourArray.append("String Value")
O
let someString = "You can also pass a string variable, like this!"
yourArray.append(someString)
Aggiungi inserendo
Una volta che hai alcuni valori, puoi inserire nuovi valori invece di aggiungere. Ad esempio, se si desidera inserire nuovi oggetti all'inizio dell'array (anziché aggiungerli alla fine):
yourArray.insert("Hey, I'm first!", atIndex: 0)
Oppure puoi usare le variabili per rendere il tuo inserto più flessibile:
let lineCutter = "I'm going to be first soon."
let positionToInsertAt = 0
yourArray.insert(lineCutter, atIndex: positionToInsertAt)
Alla fine potresti voler rimuovere alcune cose
var yourOtherArray = ["MonkeysRule", "RemoveMe", "SwiftRules"]
yourOtherArray.remove(at: 1)
Quanto sopra funziona benissimo quando sai dove si trova l'array (ovvero quando conosci il suo valore di indice). Poiché i valori dell'indice iniziano da 0, la seconda voce sarà all'indice 1.
Rimozione di valori senza conoscere l'indice
E se non lo facessi? Cosa succede se yourOtherArray ha centinaia di valori e tutto quello che sai è che vuoi rimuovere quello uguale a "RemoveMe"?
if let indexValue = yourOtherArray.index(of: "RemoveMe") {
yourOtherArray.remove(at: indexValue)
}
Questo dovrebbe farti cominciare!
var myArr1 = [AnyObject]()
può memorizzare qualsiasi oggetto
var myArr2 = [String]()
può memorizzare solo stringhe
Swift 3
Esistono tre (3) modi per creare un array vuoto in modo Swift e la sintassi abbreviata è sempre preferita.
Metodo 1: sintassi abbreviata
var arr = [Int]()
Metodo 2: inizializzatore di array
var arr = Array<Int>()
Metodo 3: matrice con una matrice letterale
var arr:[Int] = []
Metodo 4: il credito va a @BallpointBen
var arr:Array<Int> = []
var arr: Array<Int> = []
. [T]
è solo una scorciatoia perArray<T>
Esistono 2 modi principali per creare / inizializzare un array in modo rapido.
var myArray = [Double]()
Ciò creerebbe una matrice di doppi.
var myDoubles = [Double](count: 5, repeatedValue: 2.0)
Ciò creerebbe un array di 5 doppie, tutte inizializzate con il valore di 2.0.
var myDoubles = [Double](repeating: 2.0, count: 5)
- nota il cambiamento di ordine dei parametri e la variazione della etichetta repeatedValue
direpeating
Se si desidera dichiarare un array vuoto di tipo stringa, è possibile farlo in 5 modi diversi: -
var myArray: Array<String> = Array()
var myArray = [String]()
var myArray: [String] = []
var myArray = Array<String>()
var myArray:Array<String> = []
Matrice di qualsiasi tipo: -
var myArray: Array<AnyObject> = Array()
var myArray = [AnyObject]()
var myArray: [AnyObject] = []
var myArray = Array<AnyObject>()
var myArray:Array<AnyObject> = []
Matrice di tipo intero: -
var myArray: Array<Int> = Array()
var myArray = [Int]()
var myArray: [Int] = []
var myArray = Array<Int>()
var myArray:Array<Int> = []
Ecco alcune attività comuni in Swift 4 che puoi utilizzare come riferimento fino a quando non ti abitui alle cose.
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
L'array in swift è scritto come ** Array <Element> **, dove Element è il tipo di valori che l'array può memorizzare.
La matrice può essere inizializzata come:
let emptyArray = [String]()
Mostra che è una matrice di tipo stringa
Si deduce che il tipo della variabile emptyArray sia [String] dal tipo dell'inizializzatore.
Per la creazione della matrice di tipo stringa con elementi
var groceryList: [String] = ["Eggs", "Milk"]
groceryList è stato inizializzato con due articoli
La variabile groceryList è dichiarata come "una matrice di valori di stringa" , scritta come [String]. Questo particolare array ha specificato un tipo di valore String, è consentito memorizzare solo valori String.
Esistono varie proprietà di array come:
- Per verificare se l'array ha elementi (se l'array è vuoto o no)
Proprietà isEmpty (booleana) per verificare se la proprietà count è uguale a 0:
if groceryList.isEmpty {
print("The groceryList list is empty.")
} else {
print("The groceryList is not empty.")
}
- Aggiunta (aggiunta) di elementi nella matrice
È possibile aggiungere un nuovo elemento alla fine di un array chiamando il metodo append (_ :) dell'array:
groceryList.append("Flour")
La drogheria ora contiene 3 articoli.
In alternativa, aggiungi una matrice di uno o più articoli compatibili con l'operatore di assegnazione addizione (+ =):
groceryList += ["Baking Powder"]
La drogheria ora contiene 4 articoli
groceryList += ["Chocolate Spread", "Cheese", "Peanut Butter"]
La drogheria ora contiene 7 articoli
Come da 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()
puoi rimuovere il contenuto dell'array con il passaggio dell'indice dell'array oppure puoi rimuovere tutto
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)
}
Viene fornita una risposta simile ma non funziona per l'ultima versione di Swift (Swift 5), quindi ecco la risposta aggiornata. Spero che sia d'aiuto! :)
Avvio di un array con un conteggio predefinito:
Array(repeating: 0, count: 10)
Lo uso spesso per le istruzioni di mappatura in cui ho bisogno di un numero specificato di oggetti finti. Per esempio,
let myObjects: [MyObject] = Array(repeating: 0, count: 10).map { _ in return MyObject() }
Compatibile con: Xcode 6.0.1+
È possibile creare un array vuoto specificando il tipo di elemento dell'array nella dichiarazione.
Per esempio:
// Shortened forms are preferred
var emptyDoubles: [Double] = []
// The full type name is also allowed
var emptyFloats: Array<Float> = Array()
Esempio dalla pagina degli sviluppatori Apple (array):
Spero che questo aiuti chiunque inciampare in questa pagina.