Swift의 사전에서 키 값을 어떻게 얻을 수 있습니까?


84

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/…
Martin R

"또한 첨자 구문을 사용하여 사전에서 특정 키에 대한 값을 검색 할 수 있습니다.… if let airportName = airports["DUB"] { … }"
Martin R

답변:


172

첨자를 사용하여 사전 키 값에 액세스합니다. 그러면 옵션이 반환됩니다.

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)")
}

25

Apple Docs에서

아래 첨자 구문을 사용하여 특정 키에 대한 사전에서 값을 검색 할 수 있습니다. 값이없는 키를 요청할 수 있기 때문에 사전의 아래 첨자는 사전 값 유형의 선택적 값을 반환합니다. 사전에 요청 된 키에 대한 값이 포함 된 경우 아래 첨자는 해당 키의 기존 값을 포함하는 선택적 값을 반환합니다. 그렇지 않으면 아래 첨자가 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.