2014-09-09 11 views
52

Jestem wczesnym ptakiem w szybkim tempie. Mam słownik. Chcę uzyskać wartość mojego klucza. Obiekt dla metody klucza nie działa dla mnie. Czy ktoś może mi pomóc?Jak mogę uzyskać wartość klucza ze słownika w Swift?

To jest mój słownik;

var companies = ["AAPL" : "Apple Inc", "GOOG" : "Google Inc", "AMZN" : "Amazon.com, Inc", "FB" : "Facebook Inc"] 

    for (name) in companies.key { 

println(companies.objectForKey("AAPL")) 

    } 
+4

to wszystko ujęte w dokumentacji: https://developer.apple.com/library/prerelease/mac/documentation/Swift/Conceptual/Swift_Programming_Language/CollectionTypes.html#// apple_ref/doc/uid/TP40014097-CH8-XID_180 –

+1

jeśli przejrzysz dokument, zobaczysz aktualizację, usuń func. Szukam pary pojedynczych aliasów! – DuyguK

+0

* "Możesz także użyć składni indeksu dolnego, aby pobrać wartość ze słownika dla określonego klucza ...", jeśli pozwala lotniskowemu = lotniska ["DUB"] {...} "" * –

Odpowiedz

103

Ta metoda umożliwia zobaczenie klucza i wartości.

var companies = ["AAPL" : "Apple Inc", "GOOG" : "Google Inc", "AMZN" : "Amazon.com, Inc", "FB" : "Facebook Inc"] 

for (key, value) in companies { 
    println("\(key) -> \(value)") 
} 

Lub jeśli chcesz tylko wartości:

for value in companies.values.array { 
    println("\(value)") 
} 

jedna wartość z bezpośrednim dostępem słownika:

println(companies["AAPL"]) 
+0

nie, nie chcę, aby uzyskać wszystkie wartości.Just co dostaję mojego sojusznika. – DuyguK

+0

Zmieniłem swoją odpowiedź. Czy tego właśnie szukasz? – Prine

+0

Tak, to jest idealne. W jaki sposób mogę uzyskać klucz wartości println (firmy ["Google Inc"])? – DuyguK

16

od Apple Docs

Można wykorzystać indeks składnia aby pobrać wartość ze słownika dla określonego klucza. Ponieważ można zażądać klucza, dla którego nie istnieje żadna wartość, indeks słownika zwraca opcjonalną wartość typu wartości słownika. Jeśli słownik zawiera wartość dla żądanego klucza, indeks dolny zwraca opcjonalną wartość zawierającą istniejącą wartość dla tego klucza. W przeciwnym razie, indeks zwraca nil:

if let airportName = airports["DUB"] { 
    print("The name of the airport is \(airportName).") 
} else { 
    print("That airport is not in the airports dictionary.") 
} 
// prints "The name of the airport is Dublin Airport." 
Powiązane problemy