Swiftの辞書からキーの値を取得するにはどうすればよいですか?


83

Swift辞書を持っています。キーの値を取得したい。キーメソッドのオブジェクトが機能していません。辞書のキーの値をどのように取得しますか?

これは私の辞書です:

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

for name in companies.keys { 
    print(companies.objectForKey("AAPL"))
}

5
それは、すべてのドキュメントに記載されています:developer.apple.com/library/prerelease/mac/documentation/Swift/...
マーティンRを

「添え字構文を使用して、特定のキーの辞書から値を取得することもできます… if let airportName = airports["DUB"] { … }
Martin R

回答:


167

辞書キーの値にアクセスするには、添え字を使用します。これにより、オプションが返されます。

let apple: String? = companies["AAPL"]

または

if let apple = companies["AAPL"] {
    // ...
}

すべてのキーと値を列挙することもできます。

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

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

または、すべての値を列挙します。

for value in Array(companies.values) {
    print("\(value)")
}

24

AppleDocsから

添え字構文を使用して、特定のキーのディクショナリから値を取得できます。値が存在しないキーを要求できるため、ディクショナリの添え字は、ディクショナリの値タイプのオプションの値を返します。ディクショナリに要求されたキーの値が含まれている場合、添え字はそのキーの既存の値を含むオプションの値を返します。それ以外の場合、添え字はnilを返します。

https://developer.apple.com/documentation/swift/dictionary

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."
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.