2015-05-25 18 views
80

Jestem naprawdę zdezorientowany tym, jak tworzymy tablicę w Swift. Czy możesz mi powiedzieć, na ile sposobów można utworzyć pustą tablicę z pewnymi szczegółami?Jak utworzyć pustą tablicę w Swift?

+4

var myArray: [String] = [] –

+4

powinien przeczytać ten https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/TheBasics.html –

+0

https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/CollectionTypes.html#//apple_ref/doc/uid/TP40014097-CH8-ID105 –

Odpowiedz

149

Proszę bardzo:

var yourArray = [String]() 

Powyższy działa również w innych rodzajach i nie tylko strun. To tylko przykład.

Dodawanie wartości do It

Przypuszczam końcu będziesz chciał dodać wartość do niego!

yourArray.append("String Value") 

Albo

let someString = "You can also pass a string variable, like this!" 
yourArray.append(someString) 

Dodaj wkładając

Gdy masz kilka wartości, można wstawić nowe wartości zamiast dopisywania. Na przykład, jeśli chcesz, aby wstawić nowe obiekty na początku tablicy (zamiast dołączania ich do końca):

yourArray.insert("Hey, I'm first!", atIndex: 0) 

Lub można używać zmiennych, aby Państwa wkładka bardziej elastyczny:

let lineCutter = "I'm going to be first soon." 
let positionToInsertAt = 0 
yourArray.insert(lineCutter, atIndex: positionToInsertAt) 

Może w końcu chcemy usunąć jakiś materiał

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

powyższy działa świetnie, gdy wiesz, gdzie w tablicy wartość jest (że jest, gdy znasz jego wartość indeksu). Jako wartości indeksu zaczynają się od 0, drugi wpis będzie o indeksie 1.

Usuwanie wartości bez znajomości Index

ale co jeśli nie? Co zrobić, jeśli twoja planeta zawiera setki wartości i czy wiesz, że chcesz usunąć tę samą wartość, co "UsuńMe"?

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

To powinno zacząć!

10

Istnieją 2 główne sposoby utworzenia/wprowadzenia do tablicy szybkich.

var myArray = [Double]() 

Stworzy to tablicę podwójną.

var myDoubles = [Double](count: 5, repeatedValue: 2.0) 

Utworziłoby to tablicę 5 podwójnych, wszystkie zainicjalizowane wartością 2,0.

+0

Dziękuję, czy mogę zadeklarować w ten sposób 'var myArray = [AnyObject]()'? – Inuyasha

+0

Tak, to stworzy tablicę "AnyObject", która pozwoli ci umieścić w niej praktycznie wszystko. Jeśli nie potrzebujesz takiej tablicy, lepiej byłoby podać jej określoną wartość, np. "Var myArray = [String]()". – Aaron

18
var myArr1 = [AnyObject]() 

może przechowywać dowolny obiekt

var myArr2 = [String]() 

może przechowywać tylko String

16

Można użyć

var firstNames: [String] = [] 
2

Array w szybkich opisana jako ** Array < element> **, gdzie element jest typ wartości tablica wolno sklepie.

macierzy może być inicjowane jako:

let emptyArray = [String]()

pokazuje, że jego tablicą typu łańcuchowego

typu zmiennej emptyArray wnioskuje się [String] z rodzaju inicjatora.

do tworzenia tablicę typu string z elementami

var groceryList: [String] = ["Eggs", "Milk"]

groceryList został zainicjowany z dwóch elementów

Zmienna groceryList deklarowane jako „tablicę wartości string” , zapisany jako [Ciąg]. Ta konkretna tablica określiła typ wartości String, dozwolone jest przechowywanie tylko wartości String.

Istnieją różne ciwoĹ tablicy jak:

- Aby sprawdzić, czy tablica ma elementy (Jeśli tablica jest pusta lub nie)

nieruchomość isEmpty (Boolean) do sprawdzenia, czy właściwości Count jest równy 0:

if groceryList.isEmpty { 
    print("The groceryList list is empty.") 
} else { 
    print("The groceryList is not empty.") 
} 

- Dołączanie (dodawanie) elementów macierzy

można dodać nowy element do końca tablicy przez wywołanie append tablicy w (_ :) Metoda:

groceryList.append("Flour") 

groceryList zawiera teraz 3 pozycji.

Alternatywnie, dodać tablicę jeden lub więcej kompatybilnych elementów z operatorem przypisania dodawania (+ =):

groceryList += ["Baking Powder"] 

groceryList zawiera teraz 4 pozycji

groceryList += ["Chocolate Spread", "Cheese", "Peanut Butter"] 

groceryList zawiera teraz 7 pozycji

2

można usunąć zawartość tablicy przekazując indeks tablicy lub można usunąć wszystkie

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

Swift 3

są trzy (3) sposób, aby utworzyć pustą tablicę Swift i krótszą składnię sposób zawsze jest korzystne.

Metoda 1: Skrót Składnia

var arr = [Int]() 

Metoda 2: Array Initializer

var arr = Array<Int>() 

Metoda 3: Array z tablicy Dosłowne

var arr:[Int] = [] 

Metoda 4: zasługa @ BallpointBen

var arr:Array<Int> = [] 
+1

Lub 'var arr: Array = []'. '[T]' jest skrótem dla 'Array ' – BallpointBen

+0

Zaktualizowano odpowiedź, dziękuję. –

4

Oto kilka typowych zadań w Swift 4, których możesz używać jako odniesienia, dopóki nie przyzwyczaisz się do rzeczy.

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 
0

Array(repeating: 0, count: 10). Często używam tego do mapowania instrukcji, gdzie potrzebuję określonej liczby fałszywych obiektów. Na przykład,

let myObjects: [MyObject] = Array(repeating: 0, count: 10).map { _ in return MyObject() }

Powiązane problemy