मैं स्विफ्ट में शब्दकोश से कुंजी का मूल्य कैसे प्राप्त कर सकता हूं?


84

मेरे पास एक स्विफ्ट शब्दकोश है। मैं अपनी कुंजी का मूल्य प्राप्त करना चाहता हूं। मुख्य विधि के लिए वस्तु मेरे लिए काम नहीं कर रही है। आपको शब्दकोश की कुंजी के लिए मूल्य कैसे मिलेगा?

यह मेरा शब्दकोश है:

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/…
मार्टिन आर

"आप किसी विशेष कुंजी के लिए शब्दकोश से एक मान प्राप्त करने के लिए सबस्क्रिप्ट सिंटैक्स का भी उपयोग कर सकते हैं ... if let airportName = airports["DUB"] { … }"
मार्टिन आर

जवाबों:


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 डॉक्स से

आप किसी विशेष कुंजी के लिए शब्दकोश से मान प्राप्त करने के लिए सबस्क्रिप्ट सिंटैक्स का उपयोग कर सकते हैं। क्योंकि यह उस कुंजी के लिए अनुरोध करना संभव है जिसके लिए कोई मूल्य मौजूद नहीं है, एक शब्दकोश की सबस्क्रिप्ट शब्दकोश के मूल्य प्रकार का एक वैकल्पिक मूल्य लौटाती है। यदि शब्दकोश में अनुरोध की गई कुंजी के लिए मान शामिल है, तो सबस्क्रिप्ट उस कुंजी के लिए मौजूदा मान वाले एक वैकल्पिक मान लौटाता है। अन्यथा, सबस्क्रिप्ट वापस आ जाता है:

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."
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.